//
// The following contains exports from KERNEL32.DLL that are common between
// 32-bit and 64-bit versions of the DLL.
//

#pragma comment(linker, "/EXPORT:AcquireSRWLockExclusive=kernel32.AcquireSRWLockExclusive")
#pragma comment(linker, "/EXPORT:AcquireSRWLockShared=kernel32.AcquireSRWLockShared")
#pragma comment(linker, "/EXPORT:ActivateActCtx=kernel32.ActivateActCtx")
#pragma comment(linker, "/EXPORT:AddAtomA=kernel32.AddAtomA")
#pragma comment(linker, "/EXPORT:AddAtomW=kernel32.AddAtomW")
#pragma comment(linker, "/EXPORT:AddConsoleAliasA=kernel32.AddConsoleAliasA")
#pragma comment(linker, "/EXPORT:AddConsoleAliasW=kernel32.AddConsoleAliasW")
//#pragma comment(linker, "/EXPORT:AddDllDirectory=kernel32.AddDllDirectory")
#pragma comment(linker, "/EXPORT:AddIntegrityLabelToBoundaryDescriptor=kernel32.AddIntegrityLabelToBoundaryDescriptor")
#pragma comment(linker, "/EXPORT:AddLocalAlternateComputerNameA=kernel32.AddLocalAlternateComputerNameA")
#pragma comment(linker, "/EXPORT:AddLocalAlternateComputerNameW=kernel32.AddLocalAlternateComputerNameW")
#pragma comment(linker, "/EXPORT:AddRefActCtx=kernel32.AddRefActCtx")
#pragma comment(linker, "/EXPORT:AddSIDToBoundaryDescriptor=kernel32.AddSIDToBoundaryDescriptor")
#pragma comment(linker, "/EXPORT:AddSecureMemoryCacheCallback=kernel32.AddSecureMemoryCacheCallback")
#pragma comment(linker, "/EXPORT:AddVectoredContinueHandler=kernel32.AddVectoredContinueHandler")
#pragma comment(linker, "/EXPORT:AddVectoredExceptionHandler=kernel32.AddVectoredExceptionHandler")
#pragma comment(linker, "/EXPORT:AdjustCalendarDate=kernel32.AdjustCalendarDate")
#pragma comment(linker, "/EXPORT:AllocConsole=kernel32.AllocConsole")
#pragma comment(linker, "/EXPORT:AllocateUserPhysicalPages=kernel32.AllocateUserPhysicalPages")
#pragma comment(linker, "/EXPORT:AllocateUserPhysicalPagesNuma=kernel32.AllocateUserPhysicalPagesNuma")
#pragma comment(linker, "/EXPORT:ApplicationRecoveryFinished=kernel32.ApplicationRecoveryFinished")
#pragma comment(linker, "/EXPORT:ApplicationRecoveryInProgress=kernel32.ApplicationRecoveryInProgress")
#pragma comment(linker, "/EXPORT:AreFileApisANSI=kernel32.AreFileApisANSI")
#pragma comment(linker, "/EXPORT:AssignProcessToJobObject=kernel32.AssignProcessToJobObject")
#pragma comment(linker, "/EXPORT:AttachConsole=kernel32.AttachConsole")
#pragma comment(linker, "/EXPORT:BackupRead=kernel32.BackupRead")
#pragma comment(linker, "/EXPORT:BackupSeek=kernel32.BackupSeek")
#pragma comment(linker, "/EXPORT:BackupWrite=kernel32.BackupWrite")
#pragma comment(linker, "/EXPORT:BaseCheckAppcompatCache=kernel32.BaseCheckAppcompatCache")
#pragma comment(linker, "/EXPORT:BaseCheckAppcompatCacheEx=kernel32.BaseCheckAppcompatCacheEx")
#pragma comment(linker, "/EXPORT:BaseCheckRunApp=kernel32.BaseCheckRunApp")
#pragma comment(linker, "/EXPORT:BaseCleanupAppcompatCacheSupport=kernel32.BaseCleanupAppcompatCacheSupport")
#pragma comment(linker, "/EXPORT:BaseDllReadWriteIniFile=kernel32.BaseDllReadWriteIniFile")
#pragma comment(linker, "/EXPORT:BaseDumpAppcompatCache=kernel32.BaseDumpAppcompatCache")
#pragma comment(linker, "/EXPORT:BaseFlushAppcompatCache=kernel32.BaseFlushAppcompatCache")
#pragma comment(linker, "/EXPORT:BaseFormatObjectAttributes=kernel32.BaseFormatObjectAttributes")
#pragma comment(linker, "/EXPORT:BaseFormatTimeOut=kernel32.BaseFormatTimeOut")
#pragma comment(linker, "/EXPORT:BaseGenerateAppCompatData=kernel32.BaseGenerateAppCompatData")
#pragma comment(linker, "/EXPORT:BaseGetNamedObjectDirectory=kernel32.BaseGetNamedObjectDirectory")
#pragma comment(linker, "/EXPORT:BaseInitAppcompatCacheSupport=kernel32.BaseInitAppcompatCacheSupport")
#pragma comment(linker, "/EXPORT:BaseIsAppcompatInfrastructureDisabled=kernel32.BaseIsAppcompatInfrastructureDisabled")
#pragma comment(linker, "/EXPORT:BaseQueryModuleData=kernel32.BaseQueryModuleData")
#pragma comment(linker, "/EXPORT:BaseSetLastNTError=kernel32.BaseSetLastNTError")
#pragma comment(linker, "/EXPORT:BaseThreadInitThunk=kernel32.BaseThreadInitThunk")
#pragma comment(linker, "/EXPORT:BaseUpdateAppcompatCache=kernel32.BaseUpdateAppcompatCache")
#pragma comment(linker, "/EXPORT:BaseVerifyUnicodeString=kernel32.BaseVerifyUnicodeString")
#pragma comment(linker, "/EXPORT:Basep8BitStringToDynamicUnicodeString=kernel32.Basep8BitStringToDynamicUnicodeString")
#pragma comment(linker, "/EXPORT:BasepAllocateActivationContextActivationBlock=kernel32.BasepAllocateActivationContextActivationBlock")
#pragma comment(linker, "/EXPORT:BasepAnsiStringToDynamicUnicodeString=kernel32.BasepAnsiStringToDynamicUnicodeString")
#pragma comment(linker, "/EXPORT:BasepCheckAppCompat=kernel32.BasepCheckAppCompat")
#pragma comment(linker, "/EXPORT:BasepCheckBadapp=kernel32.BasepCheckBadapp")
#pragma comment(linker, "/EXPORT:BasepCheckWinSaferRestrictions=kernel32.BasepCheckWinSaferRestrictions")
#pragma comment(linker, "/EXPORT:BasepFreeActivationContextActivationBlock=kernel32.BasepFreeActivationContextActivationBlock")
#pragma comment(linker, "/EXPORT:BasepFreeAppCompatData=kernel32.BasepFreeAppCompatData")
#pragma comment(linker, "/EXPORT:BasepMapModuleHandle=kernel32.BasepMapModuleHandle")
#pragma comment(linker, "/EXPORT:Beep=kernel32.Beep")
#pragma comment(linker, "/EXPORT:BeginUpdateResourceA=kernel32.BeginUpdateResourceA")
#pragma comment(linker, "/EXPORT:BeginUpdateResourceW=kernel32.BeginUpdateResourceW")
#pragma comment(linker, "/EXPORT:BindIoCompletionCallback=kernel32.BindIoCompletionCallback")
#pragma comment(linker, "/EXPORT:BuildCommDCBA=kernel32.BuildCommDCBA")
#pragma comment(linker, "/EXPORT:BuildCommDCBAndTimeoutsA=kernel32.BuildCommDCBAndTimeoutsA")
#pragma comment(linker, "/EXPORT:BuildCommDCBAndTimeoutsW=kernel32.BuildCommDCBAndTimeoutsW")
#pragma comment(linker, "/EXPORT:BuildCommDCBW=kernel32.BuildCommDCBW")
#pragma comment(linker, "/EXPORT:CallNamedPipeA=kernel32.CallNamedPipeA")
#pragma comment(linker, "/EXPORT:CallNamedPipeW=kernel32.CallNamedPipeW")
#pragma comment(linker, "/EXPORT:CallbackMayRunLong=kernel32.CallbackMayRunLong")
#pragma comment(linker, "/EXPORT:CancelDeviceWakeupRequest=kernel32.CancelDeviceWakeupRequest")
#pragma comment(linker, "/EXPORT:CancelIo=kernel32.CancelIo")
#pragma comment(linker, "/EXPORT:CancelIoEx=kernel32.CancelIoEx")
#pragma comment(linker, "/EXPORT:CancelSynchronousIo=kernel32.CancelSynchronousIo")
#pragma comment(linker, "/EXPORT:CancelThreadpoolIo=kernel32.CancelThreadpoolIo")
#pragma comment(linker, "/EXPORT:CancelTimerQueueTimer=kernel32.CancelTimerQueueTimer")
#pragma comment(linker, "/EXPORT:CancelWaitableTimer=kernel32.CancelWaitableTimer")
#pragma comment(linker, "/EXPORT:ChangeTimerQueueTimer=kernel32.ChangeTimerQueueTimer")
#pragma comment(linker, "/EXPORT:CheckElevation=kernel32.CheckElevation")
#pragma comment(linker, "/EXPORT:CheckElevationEnabled=kernel32.CheckElevationEnabled")
#pragma comment(linker, "/EXPORT:CheckForReadOnlyResource=kernel32.CheckForReadOnlyResource")
#pragma comment(linker, "/EXPORT:CheckNameLegalDOS8Dot3A=kernel32.CheckNameLegalDOS8Dot3A")
#pragma comment(linker, "/EXPORT:CheckNameLegalDOS8Dot3W=kernel32.CheckNameLegalDOS8Dot3W")
#pragma comment(linker, "/EXPORT:CheckRemoteDebuggerPresent=kernel32.CheckRemoteDebuggerPresent")
#pragma comment(linker, "/EXPORT:ClearCommBreak=kernel32.ClearCommBreak")
#pragma comment(linker, "/EXPORT:ClearCommError=kernel32.ClearCommError")
#pragma comment(linker, "/EXPORT:CloseConsoleHandle=kernel32.CloseConsoleHandle")
#pragma comment(linker, "/EXPORT:CloseHandle=kernel32.CloseHandle")
#pragma comment(linker, "/EXPORT:ClosePrivateNamespace=kernel32.ClosePrivateNamespace")
#pragma comment(linker, "/EXPORT:CloseProfileUserMapping=kernel32.CloseProfileUserMapping")
#pragma comment(linker, "/EXPORT:CloseThreadpool=kernel32.CloseThreadpool")
#pragma comment(linker, "/EXPORT:CloseThreadpoolCleanupGroup=kernel32.CloseThreadpoolCleanupGroup")
#pragma comment(linker, "/EXPORT:CloseThreadpoolCleanupGroupMembers=kernel32.CloseThreadpoolCleanupGroupMembers")
#pragma comment(linker, "/EXPORT:CloseThreadpoolIo=kernel32.CloseThreadpoolIo")
#pragma comment(linker, "/EXPORT:CloseThreadpoolTimer=kernel32.CloseThreadpoolTimer")
#pragma comment(linker, "/EXPORT:CloseThreadpoolWait=kernel32.CloseThreadpoolWait")
#pragma comment(linker, "/EXPORT:CloseThreadpoolWork=kernel32.CloseThreadpoolWork")
#pragma comment(linker, "/EXPORT:CmdBatNotification=kernel32.CmdBatNotification")
#pragma comment(linker, "/EXPORT:CommConfigDialogA=kernel32.CommConfigDialogA")
#pragma comment(linker, "/EXPORT:CommConfigDialogW=kernel32.CommConfigDialogW")
#pragma comment(linker, "/EXPORT:CompareCalendarDates=kernel32.CompareCalendarDates")
#pragma comment(linker, "/EXPORT:CompareFileTime=kernel32.CompareFileTime")
#pragma comment(linker, "/EXPORT:CompareStringA=kernel32.CompareStringA")
#pragma comment(linker, "/EXPORT:CompareStringEx=kernel32.CompareStringEx")
#pragma comment(linker, "/EXPORT:CompareStringOrdinal=kernel32.CompareStringOrdinal")
#pragma comment(linker, "/EXPORT:CompareStringW=kernel32.CompareStringW")
#pragma comment(linker, "/EXPORT:ConnectNamedPipe=kernel32.ConnectNamedPipe")
#pragma comment(linker, "/EXPORT:ConsoleMenuControl=kernel32.ConsoleMenuControl")
#pragma comment(linker, "/EXPORT:ContinueDebugEvent=kernel32.ContinueDebugEvent")
#pragma comment(linker, "/EXPORT:ConvertCalDateTimeToSystemTime=kernel32.ConvertCalDateTimeToSystemTime")
#pragma comment(linker, "/EXPORT:ConvertDefaultLocale=kernel32.ConvertDefaultLocale")
#pragma comment(linker, "/EXPORT:ConvertFiberToThread=kernel32.ConvertFiberToThread")
#pragma comment(linker, "/EXPORT:ConvertNLSDayOfWeekToWin32DayOfWeek=kernel32.ConvertNLSDayOfWeekToWin32DayOfWeek")
#pragma comment(linker, "/EXPORT:ConvertSystemTimeToCalDateTime=kernel32.ConvertSystemTimeToCalDateTime")
#pragma comment(linker, "/EXPORT:ConvertThreadToFiber=kernel32.ConvertThreadToFiber")
#pragma comment(linker, "/EXPORT:ConvertThreadToFiberEx=kernel32.ConvertThreadToFiberEx")
#pragma comment(linker, "/EXPORT:CopyContext=kernel32.CopyContext")
#pragma comment(linker, "/EXPORT:CopyFileA=kernel32.CopyFileA")
#pragma comment(linker, "/EXPORT:CopyFileExA=kernel32.CopyFileExA")
#pragma comment(linker, "/EXPORT:CopyFileExW=kernel32.CopyFileExW")
#pragma comment(linker, "/EXPORT:CopyFileTransactedA=kernel32.CopyFileTransactedA")
#pragma comment(linker, "/EXPORT:CopyFileTransactedW=kernel32.CopyFileTransactedW")
#pragma comment(linker, "/EXPORT:CopyFileW=kernel32.CopyFileW")
#pragma comment(linker, "/EXPORT:CopyLZFile=kernel32.CopyLZFile")
#pragma comment(linker, "/EXPORT:CreateActCtxA=kernel32.CreateActCtxA")
#pragma comment(linker, "/EXPORT:CreateActCtxW=kernel32.CreateActCtxW")
#pragma comment(linker, "/EXPORT:CreateBoundaryDescriptorA=kernel32.CreateBoundaryDescriptorA")
#pragma comment(linker, "/EXPORT:CreateBoundaryDescriptorW=kernel32.CreateBoundaryDescriptorW")
#pragma comment(linker, "/EXPORT:CreateConsoleScreenBuffer=kernel32.CreateConsoleScreenBuffer")
#pragma comment(linker, "/EXPORT:CreateDirectoryA=kernel32.CreateDirectoryA")
#pragma comment(linker, "/EXPORT:CreateDirectoryExA=kernel32.CreateDirectoryExA")
#pragma comment(linker, "/EXPORT:CreateDirectoryExW=kernel32.CreateDirectoryExW")
#pragma comment(linker, "/EXPORT:CreateDirectoryTransactedA=kernel32.CreateDirectoryTransactedA")
#pragma comment(linker, "/EXPORT:CreateDirectoryTransactedW=kernel32.CreateDirectoryTransactedW")
#pragma comment(linker, "/EXPORT:CreateDirectoryW=kernel32.CreateDirectoryW")
#pragma comment(linker, "/EXPORT:CreateEventA=kernel32.CreateEventA")
#pragma comment(linker, "/EXPORT:CreateEventExA=kernel32.CreateEventExA")
#pragma comment(linker, "/EXPORT:CreateEventExW=kernel32.CreateEventExW")
#pragma comment(linker, "/EXPORT:CreateEventW=kernel32.CreateEventW")
#pragma comment(linker, "/EXPORT:CreateFiber=kernel32.CreateFiber")
#pragma comment(linker, "/EXPORT:CreateFiberEx=kernel32.CreateFiberEx")
#pragma comment(linker, "/EXPORT:CreateFileA=kernel32.CreateFileA")
#pragma comment(linker, "/EXPORT:CreateFileMappingA=kernel32.CreateFileMappingA")
#pragma comment(linker, "/EXPORT:CreateFileMappingNumaA=kernel32.CreateFileMappingNumaA")
#pragma comment(linker, "/EXPORT:CreateFileMappingNumaW=kernel32.CreateFileMappingNumaW")
#pragma comment(linker, "/EXPORT:CreateFileMappingW=kernel32.CreateFileMappingW")
#pragma comment(linker, "/EXPORT:CreateFileTransactedA=kernel32.CreateFileTransactedA")
#pragma comment(linker, "/EXPORT:CreateFileTransactedW=kernel32.CreateFileTransactedW")
#pragma comment(linker, "/EXPORT:CreateFileW=kernel32.CreateFileW")
#pragma comment(linker, "/EXPORT:CreateHardLinkA=kernel32.CreateHardLinkA")
#pragma comment(linker, "/EXPORT:CreateHardLinkTransactedA=kernel32.CreateHardLinkTransactedA")
#pragma comment(linker, "/EXPORT:CreateHardLinkTransactedW=kernel32.CreateHardLinkTransactedW")
#pragma comment(linker, "/EXPORT:CreateHardLinkW=kernel32.CreateHardLinkW")
#pragma comment(linker, "/EXPORT:CreateIoCompletionPort=kernel32.CreateIoCompletionPort")
#pragma comment(linker, "/EXPORT:CreateJobObjectA=kernel32.CreateJobObjectA")
#pragma comment(linker, "/EXPORT:CreateJobObjectW=kernel32.CreateJobObjectW")
#pragma comment(linker, "/EXPORT:CreateJobSet=kernel32.CreateJobSet")
#pragma comment(linker, "/EXPORT:CreateMailslotA=kernel32.CreateMailslotA")
#pragma comment(linker, "/EXPORT:CreateMailslotW=kernel32.CreateMailslotW")
#pragma comment(linker, "/EXPORT:CreateMemoryResourceNotification=kernel32.CreateMemoryResourceNotification")
#pragma comment(linker, "/EXPORT:CreateMutexA=kernel32.CreateMutexA")
#pragma comment(linker, "/EXPORT:CreateMutexExA=kernel32.CreateMutexExA")
#pragma comment(linker, "/EXPORT:CreateMutexExW=kernel32.CreateMutexExW")
#pragma comment(linker, "/EXPORT:CreateMutexW=kernel32.CreateMutexW")
#pragma comment(linker, "/EXPORT:CreateNamedPipeA=kernel32.CreateNamedPipeA")
#pragma comment(linker, "/EXPORT:CreateNamedPipeW=kernel32.CreateNamedPipeW")
#pragma comment(linker, "/EXPORT:CreatePipe=kernel32.CreatePipe")
#pragma comment(linker, "/EXPORT:CreatePrivateNamespaceA=kernel32.CreatePrivateNamespaceA")
#pragma comment(linker, "/EXPORT:CreatePrivateNamespaceW=kernel32.CreatePrivateNamespaceW")
#pragma comment(linker, "/EXPORT:CreateProcessA=kernel32.CreateProcessA")
#pragma comment(linker, "/EXPORT:CreateProcessAsUserW=kernel32.CreateProcessAsUserW")
#pragma comment(linker, "/EXPORT:CreateProcessInternalA=kernel32.CreateProcessInternalA")
#pragma comment(linker, "/EXPORT:CreateProcessInternalW=kernel32.CreateProcessInternalW")
#pragma comment(linker, "/EXPORT:CreateProcessW=kernel32.CreateProcessW")
#pragma comment(linker, "/EXPORT:CreateRemoteThread=kernel32.CreateRemoteThread")
#pragma comment(linker, "/EXPORT:CreateRemoteThreadEx=kernel32.CreateRemoteThreadEx")
#pragma comment(linker, "/EXPORT:CreateSemaphoreA=kernel32.CreateSemaphoreA")
#pragma comment(linker, "/EXPORT:CreateSemaphoreExA=kernel32.CreateSemaphoreExA")
#pragma comment(linker, "/EXPORT:CreateSemaphoreExW=kernel32.CreateSemaphoreExW")
#pragma comment(linker, "/EXPORT:CreateSemaphoreW=kernel32.CreateSemaphoreW")
#pragma comment(linker, "/EXPORT:CreateSymbolicLinkA=kernel32.CreateSymbolicLinkA")
#pragma comment(linker, "/EXPORT:CreateSymbolicLinkTransactedA=kernel32.CreateSymbolicLinkTransactedA")
#pragma comment(linker, "/EXPORT:CreateSymbolicLinkTransactedW=kernel32.CreateSymbolicLinkTransactedW")
#pragma comment(linker, "/EXPORT:CreateSymbolicLinkW=kernel32.CreateSymbolicLinkW")
#pragma comment(linker, "/EXPORT:CreateTapePartition=kernel32.CreateTapePartition")
#pragma comment(linker, "/EXPORT:CreateThread=kernel32.CreateThread")
#pragma comment(linker, "/EXPORT:CreateThreadpool=kernel32.CreateThreadpool")
#pragma comment(linker, "/EXPORT:CreateThreadpoolCleanupGroup=kernel32.CreateThreadpoolCleanupGroup")
#pragma comment(linker, "/EXPORT:CreateThreadpoolIo=kernel32.CreateThreadpoolIo")
#pragma comment(linker, "/EXPORT:CreateThreadpoolTimer=kernel32.CreateThreadpoolTimer")
#pragma comment(linker, "/EXPORT:CreateThreadpoolWait=kernel32.CreateThreadpoolWait")
#pragma comment(linker, "/EXPORT:CreateThreadpoolWork=kernel32.CreateThreadpoolWork")
#pragma comment(linker, "/EXPORT:CreateTimerQueue=kernel32.CreateTimerQueue")
#pragma comment(linker, "/EXPORT:CreateTimerQueueTimer=kernel32.CreateTimerQueueTimer")
#pragma comment(linker, "/EXPORT:CreateToolhelp32Snapshot=kernel32.CreateToolhelp32Snapshot")
#pragma comment(linker, "/EXPORT:CreateWaitableTimerA=kernel32.CreateWaitableTimerA")
#pragma comment(linker, "/EXPORT:CreateWaitableTimerExA=kernel32.CreateWaitableTimerExA")
#pragma comment(linker, "/EXPORT:CreateWaitableTimerExW=kernel32.CreateWaitableTimerExW")
#pragma comment(linker, "/EXPORT:CreateWaitableTimerW=kernel32.CreateWaitableTimerW")
#pragma comment(linker, "/EXPORT:CtrlRoutine=kernel32.CtrlRoutine")
#pragma comment(linker, "/EXPORT:DeactivateActCtx=kernel32.DeactivateActCtx")
#pragma comment(linker, "/EXPORT:DebugActiveProcess=kernel32.DebugActiveProcess")
#pragma comment(linker, "/EXPORT:DebugActiveProcessStop=kernel32.DebugActiveProcessStop")
#pragma comment(linker, "/EXPORT:DebugBreak=kernel32.DebugBreak")
#pragma comment(linker, "/EXPORT:DebugBreakProcess=kernel32.DebugBreakProcess")
#pragma comment(linker, "/EXPORT:DebugSetProcessKillOnExit=kernel32.DebugSetProcessKillOnExit")
#pragma comment(linker, "/EXPORT:DecodePointer=kernel32.DecodePointer")
#pragma comment(linker, "/EXPORT:DecodeSystemPointer=kernel32.DecodeSystemPointer")
#pragma comment(linker, "/EXPORT:DefineDosDeviceA=kernel32.DefineDosDeviceA")
#pragma comment(linker, "/EXPORT:DefineDosDeviceW=kernel32.DefineDosDeviceW")
#pragma comment(linker, "/EXPORT:DelayLoadFailureHook=kernel32.DelayLoadFailureHook")
#pragma comment(linker, "/EXPORT:DeleteAtom=kernel32.DeleteAtom")
#pragma comment(linker, "/EXPORT:DeleteBoundaryDescriptor=kernel32.DeleteBoundaryDescriptor")
#pragma comment(linker, "/EXPORT:DeleteCriticalSection=kernel32.DeleteCriticalSection")
#pragma comment(linker, "/EXPORT:DeleteFiber=kernel32.DeleteFiber")
#pragma comment(linker, "/EXPORT:DeleteFileA=kernel32.DeleteFileA")
#pragma comment(linker, "/EXPORT:DeleteFileTransactedA=kernel32.DeleteFileTransactedA")
#pragma comment(linker, "/EXPORT:DeleteFileTransactedW=kernel32.DeleteFileTransactedW")
#pragma comment(linker, "/EXPORT:DeleteFileW=kernel32.DeleteFileW")
#pragma comment(linker, "/EXPORT:DeleteProcThreadAttributeList=kernel32.DeleteProcThreadAttributeList")
#pragma comment(linker, "/EXPORT:DeleteTimerQueue=kernel32.DeleteTimerQueue")
#pragma comment(linker, "/EXPORT:DeleteTimerQueueEx=kernel32.DeleteTimerQueueEx")
#pragma comment(linker, "/EXPORT:DeleteTimerQueueTimer=kernel32.DeleteTimerQueueTimer")
#pragma comment(linker, "/EXPORT:DeleteVolumeMountPointA=kernel32.DeleteVolumeMountPointA")
#pragma comment(linker, "/EXPORT:DeleteVolumeMountPointW=kernel32.DeleteVolumeMountPointW")
#pragma comment(linker, "/EXPORT:DeviceIoControl=kernel32.DeviceIoControl")
#pragma comment(linker, "/EXPORT:DisableThreadLibraryCalls=kernel32.DisableThreadLibraryCalls")
#pragma comment(linker, "/EXPORT:DisableThreadProfiling=kernel32.DisableThreadProfiling")
#pragma comment(linker, "/EXPORT:DisassociateCurrentThreadFromCallback=kernel32.DisassociateCurrentThreadFromCallback")
#pragma comment(linker, "/EXPORT:DisconnectNamedPipe=kernel32.DisconnectNamedPipe")
#pragma comment(linker, "/EXPORT:DnsHostnameToComputerNameA=kernel32.DnsHostnameToComputerNameA")
#pragma comment(linker, "/EXPORT:DnsHostnameToComputerNameW=kernel32.DnsHostnameToComputerNameW")
#pragma comment(linker, "/EXPORT:DosDateTimeToFileTime=kernel32.DosDateTimeToFileTime")
#pragma comment(linker, "/EXPORT:DosPathToSessionPathA=kernel32.DosPathToSessionPathA")
#pragma comment(linker, "/EXPORT:DosPathToSessionPathW=kernel32.DosPathToSessionPathW")
#pragma comment(linker, "/EXPORT:DuplicateConsoleHandle=kernel32.DuplicateConsoleHandle")
//#pragma comment(linker, "/EXPORT:DuplicateHandle=kernel32.DuplicateHandle")
#pragma comment(linker, "/EXPORT:EnableThreadProfiling=kernel32.EnableThreadProfiling")
#pragma comment(linker, "/EXPORT:EncodePointer=kernel32.EncodePointer")
#pragma comment(linker, "/EXPORT:EncodeSystemPointer=kernel32.EncodeSystemPointer")
#pragma comment(linker, "/EXPORT:EndUpdateResourceA=kernel32.EndUpdateResourceA")
#pragma comment(linker, "/EXPORT:EndUpdateResourceW=kernel32.EndUpdateResourceW")
#pragma comment(linker, "/EXPORT:EnterCriticalSection=kernel32.EnterCriticalSection")
#pragma comment(linker, "/EXPORT:EnumCalendarInfoA=kernel32.EnumCalendarInfoA")
#pragma comment(linker, "/EXPORT:EnumCalendarInfoExA=kernel32.EnumCalendarInfoExA")
#pragma comment(linker, "/EXPORT:EnumCalendarInfoExEx=kernel32.EnumCalendarInfoExEx")
#pragma comment(linker, "/EXPORT:EnumCalendarInfoExW=kernel32.EnumCalendarInfoExW")
#pragma comment(linker, "/EXPORT:EnumCalendarInfoW=kernel32.EnumCalendarInfoW")
#pragma comment(linker, "/EXPORT:EnumDateFormatsA=kernel32.EnumDateFormatsA")
#pragma comment(linker, "/EXPORT:EnumDateFormatsExA=kernel32.EnumDateFormatsExA")
#pragma comment(linker, "/EXPORT:EnumDateFormatsExEx=kernel32.EnumDateFormatsExEx")
#pragma comment(linker, "/EXPORT:EnumDateFormatsExW=kernel32.EnumDateFormatsExW")
#pragma comment(linker, "/EXPORT:EnumDateFormatsW=kernel32.EnumDateFormatsW")
#pragma comment(linker, "/EXPORT:EnumLanguageGroupLocalesA=kernel32.EnumLanguageGroupLocalesA")
#pragma comment(linker, "/EXPORT:EnumLanguageGroupLocalesW=kernel32.EnumLanguageGroupLocalesW")
#pragma comment(linker, "/EXPORT:EnumResourceLanguagesA=kernel32.EnumResourceLanguagesA")
#pragma comment(linker, "/EXPORT:EnumResourceLanguagesExA=kernel32.EnumResourceLanguagesExA")
#pragma comment(linker, "/EXPORT:EnumResourceLanguagesExW=kernel32.EnumResourceLanguagesExW")
#pragma comment(linker, "/EXPORT:EnumResourceLanguagesW=kernel32.EnumResourceLanguagesW")
#pragma comment(linker, "/EXPORT:EnumResourceNamesA=kernel32.EnumResourceNamesA")
#pragma comment(linker, "/EXPORT:EnumResourceNamesExA=kernel32.EnumResourceNamesExA")
#pragma comment(linker, "/EXPORT:EnumResourceNamesExW=kernel32.EnumResourceNamesExW")
#pragma comment(linker, "/EXPORT:EnumResourceNamesW=kernel32.EnumResourceNamesW")
#pragma comment(linker, "/EXPORT:EnumResourceTypesA=kernel32.EnumResourceTypesA")
#pragma comment(linker, "/EXPORT:EnumResourceTypesExA=kernel32.EnumResourceTypesExA")
#pragma comment(linker, "/EXPORT:EnumResourceTypesExW=kernel32.EnumResourceTypesExW")
#pragma comment(linker, "/EXPORT:EnumResourceTypesW=kernel32.EnumResourceTypesW")
#pragma comment(linker, "/EXPORT:EnumSystemCodePagesA=kernel32.EnumSystemCodePagesA")
#pragma comment(linker, "/EXPORT:EnumSystemCodePagesW=kernel32.EnumSystemCodePagesW")
#pragma comment(linker, "/EXPORT:EnumSystemFirmwareTables=kernel32.EnumSystemFirmwareTables")
#pragma comment(linker, "/EXPORT:EnumSystemGeoID=kernel32.EnumSystemGeoID")
#pragma comment(linker, "/EXPORT:EnumSystemLanguageGroupsA=kernel32.EnumSystemLanguageGroupsA")
#pragma comment(linker, "/EXPORT:EnumSystemLanguageGroupsW=kernel32.EnumSystemLanguageGroupsW")
#pragma comment(linker, "/EXPORT:EnumSystemLocalesA=kernel32.EnumSystemLocalesA")
#pragma comment(linker, "/EXPORT:EnumSystemLocalesEx=kernel32.EnumSystemLocalesEx")
#pragma comment(linker, "/EXPORT:EnumSystemLocalesW=kernel32.EnumSystemLocalesW")
#pragma comment(linker, "/EXPORT:EnumTimeFormatsA=kernel32.EnumTimeFormatsA")
#pragma comment(linker, "/EXPORT:EnumTimeFormatsEx=kernel32.EnumTimeFormatsEx")
#pragma comment(linker, "/EXPORT:EnumTimeFormatsW=kernel32.EnumTimeFormatsW")
#pragma comment(linker, "/EXPORT:EnumUILanguagesA=kernel32.EnumUILanguagesA")
#pragma comment(linker, "/EXPORT:EnumUILanguagesW=kernel32.EnumUILanguagesW")
#pragma comment(linker, "/EXPORT:EnumerateLocalComputerNamesA=kernel32.EnumerateLocalComputerNamesA")
#pragma comment(linker, "/EXPORT:EnumerateLocalComputerNamesW=kernel32.EnumerateLocalComputerNamesW")
#pragma comment(linker, "/EXPORT:EraseTape=kernel32.EraseTape")
#pragma comment(linker, "/EXPORT:EscapeCommFunction=kernel32.EscapeCommFunction")
#pragma comment(linker, "/EXPORT:ExitProcess=kernel32.ExitProcess")
#pragma comment(linker, "/EXPORT:ExitThread=kernel32.ExitThread")
#pragma comment(linker, "/EXPORT:ExitVDM=kernel32.ExitVDM")
#pragma comment(linker, "/EXPORT:ExpandEnvironmentStringsA=kernel32.ExpandEnvironmentStringsA")
#pragma comment(linker, "/EXPORT:ExpandEnvironmentStringsW=kernel32.ExpandEnvironmentStringsW")
#pragma comment(linker, "/EXPORT:ExpungeConsoleCommandHistoryA=kernel32.ExpungeConsoleCommandHistoryA")
#pragma comment(linker, "/EXPORT:ExpungeConsoleCommandHistoryW=kernel32.ExpungeConsoleCommandHistoryW")
#pragma comment(linker, "/EXPORT:FatalAppExitA=kernel32.FatalAppExitA")
#pragma comment(linker, "/EXPORT:FatalAppExitW=kernel32.FatalAppExitW")
#pragma comment(linker, "/EXPORT:FatalExit=kernel32.FatalExit")
#pragma comment(linker, "/EXPORT:FileTimeToDosDateTime=kernel32.FileTimeToDosDateTime")
#pragma comment(linker, "/EXPORT:FileTimeToLocalFileTime=kernel32.FileTimeToLocalFileTime")
#pragma comment(linker, "/EXPORT:FileTimeToSystemTime=kernel32.FileTimeToSystemTime")
#pragma comment(linker, "/EXPORT:FillConsoleOutputAttribute=kernel32.FillConsoleOutputAttribute")
#pragma comment(linker, "/EXPORT:FillConsoleOutputCharacterA=kernel32.FillConsoleOutputCharacterA")
#pragma comment(linker, "/EXPORT:FillConsoleOutputCharacterW=kernel32.FillConsoleOutputCharacterW")
#pragma comment(linker, "/EXPORT:FindActCtxSectionGuid=kernel32.FindActCtxSectionGuid")
#pragma comment(linker, "/EXPORT:FindActCtxSectionStringA=kernel32.FindActCtxSectionStringA")
#pragma comment(linker, "/EXPORT:FindActCtxSectionStringW=kernel32.FindActCtxSectionStringW")
#pragma comment(linker, "/EXPORT:FindAtomA=kernel32.FindAtomA")
#pragma comment(linker, "/EXPORT:FindAtomW=kernel32.FindAtomW")
#pragma comment(linker, "/EXPORT:FindClose=kernel32.FindClose")
#pragma comment(linker, "/EXPORT:FindCloseChangeNotification=kernel32.FindCloseChangeNotification")
#pragma comment(linker, "/EXPORT:FindFirstChangeNotificationA=kernel32.FindFirstChangeNotificationA")
#pragma comment(linker, "/EXPORT:FindFirstChangeNotificationW=kernel32.FindFirstChangeNotificationW")
#pragma comment(linker, "/EXPORT:FindFirstFileA=kernel32.FindFirstFileA")
#pragma comment(linker, "/EXPORT:FindFirstFileExA=kernel32.FindFirstFileExA")
#pragma comment(linker, "/EXPORT:FindFirstFileExW=kernel32.FindFirstFileExW")
#pragma comment(linker, "/EXPORT:FindFirstFileNameTransactedW=kernel32.FindFirstFileNameTransactedW")
#pragma comment(linker, "/EXPORT:FindFirstFileNameW=kernel32.FindFirstFileNameW")
#pragma comment(linker, "/EXPORT:FindFirstFileTransactedA=kernel32.FindFirstFileTransactedA")
#pragma comment(linker, "/EXPORT:FindFirstFileTransactedW=kernel32.FindFirstFileTransactedW")
#pragma comment(linker, "/EXPORT:FindFirstFileW=kernel32.FindFirstFileW")
#pragma comment(linker, "/EXPORT:FindFirstStreamTransactedW=kernel32.FindFirstStreamTransactedW")
#pragma comment(linker, "/EXPORT:FindFirstStreamW=kernel32.FindFirstStreamW")
#pragma comment(linker, "/EXPORT:FindFirstVolumeA=kernel32.FindFirstVolumeA")
#pragma comment(linker, "/EXPORT:FindFirstVolumeMountPointA=kernel32.FindFirstVolumeMountPointA")
#pragma comment(linker, "/EXPORT:FindFirstVolumeMountPointW=kernel32.FindFirstVolumeMountPointW")
#pragma comment(linker, "/EXPORT:FindFirstVolumeW=kernel32.FindFirstVolumeW")
#pragma comment(linker, "/EXPORT:FindNLSString=kernel32.FindNLSString")
#pragma comment(linker, "/EXPORT:FindNLSStringEx=kernel32.FindNLSStringEx")
#pragma comment(linker, "/EXPORT:FindNextChangeNotification=kernel32.FindNextChangeNotification")
#pragma comment(linker, "/EXPORT:FindNextFileA=kernel32.FindNextFileA")
#pragma comment(linker, "/EXPORT:FindNextFileNameW=kernel32.FindNextFileNameW")
#pragma comment(linker, "/EXPORT:FindNextFileW=kernel32.FindNextFileW")
#pragma comment(linker, "/EXPORT:FindNextStreamW=kernel32.FindNextStreamW")
#pragma comment(linker, "/EXPORT:FindNextVolumeA=kernel32.FindNextVolumeA")
#pragma comment(linker, "/EXPORT:FindNextVolumeMountPointA=kernel32.FindNextVolumeMountPointA")
#pragma comment(linker, "/EXPORT:FindNextVolumeMountPointW=kernel32.FindNextVolumeMountPointW")
#pragma comment(linker, "/EXPORT:FindNextVolumeW=kernel32.FindNextVolumeW")
#pragma comment(linker, "/EXPORT:FindResourceA=kernel32.FindResourceA")
#pragma comment(linker, "/EXPORT:FindResourceExA=kernel32.FindResourceExA")
#pragma comment(linker, "/EXPORT:FindResourceExW=kernel32.FindResourceExW")
#pragma comment(linker, "/EXPORT:FindResourceW=kernel32.FindResourceW")
#pragma comment(linker, "/EXPORT:FindStringOrdinal=kernel32.FindStringOrdinal")
#pragma comment(linker, "/EXPORT:FindVolumeClose=kernel32.FindVolumeClose")
#pragma comment(linker, "/EXPORT:FindVolumeMountPointClose=kernel32.FindVolumeMountPointClose")
#pragma comment(linker, "/EXPORT:FlsAlloc=kernel32.FlsAlloc")
#pragma comment(linker, "/EXPORT:FlsFree=kernel32.FlsFree")
#pragma comment(linker, "/EXPORT:FlsGetValue=kernel32.FlsGetValue")
#pragma comment(linker, "/EXPORT:FlsSetValue=kernel32.FlsSetValue")
#pragma comment(linker, "/EXPORT:FlushConsoleInputBuffer=kernel32.FlushConsoleInputBuffer")
#pragma comment(linker, "/EXPORT:FlushFileBuffers=kernel32.FlushFileBuffers")
#pragma comment(linker, "/EXPORT:FlushInstructionCache=kernel32.FlushInstructionCache")
#pragma comment(linker, "/EXPORT:FlushProcessWriteBuffers=kernel32.FlushProcessWriteBuffers")
#pragma comment(linker, "/EXPORT:FlushViewOfFile=kernel32.FlushViewOfFile")
#pragma comment(linker, "/EXPORT:FoldStringA=kernel32.FoldStringA")
#pragma comment(linker, "/EXPORT:FoldStringW=kernel32.FoldStringW")
#pragma comment(linker, "/EXPORT:FormatMessageA=kernel32.FormatMessageA")
#pragma comment(linker, "/EXPORT:FormatMessageW=kernel32.FormatMessageW")
#pragma comment(linker, "/EXPORT:FreeConsole=kernel32.FreeConsole")
#pragma comment(linker, "/EXPORT:FreeEnvironmentStringsA=kernel32.FreeEnvironmentStringsA")
#pragma comment(linker, "/EXPORT:FreeEnvironmentStringsW=kernel32.FreeEnvironmentStringsW")
#pragma comment(linker, "/EXPORT:FreeLibrary=kernel32.FreeLibrary")
#pragma comment(linker, "/EXPORT:FreeLibraryAndExitThread=kernel32.FreeLibraryAndExitThread")
#pragma comment(linker, "/EXPORT:FreeLibraryWhenCallbackReturns=kernel32.FreeLibraryWhenCallbackReturns")
#pragma comment(linker, "/EXPORT:FreeResource=kernel32.FreeResource")
#pragma comment(linker, "/EXPORT:FreeUserPhysicalPages=kernel32.FreeUserPhysicalPages")
#pragma comment(linker, "/EXPORT:GenerateConsoleCtrlEvent=kernel32.GenerateConsoleCtrlEvent")
#pragma comment(linker, "/EXPORT:GetACP=kernel32.GetACP")
#pragma comment(linker, "/EXPORT:GetActiveProcessorCount=kernel32.GetActiveProcessorCount")
#pragma comment(linker, "/EXPORT:GetActiveProcessorGroupCount=kernel32.GetActiveProcessorGroupCount")
#pragma comment(linker, "/EXPORT:GetApplicationRecoveryCallback=kernel32.GetApplicationRecoveryCallback")
#pragma comment(linker, "/EXPORT:GetApplicationRestartSettings=kernel32.GetApplicationRestartSettings")
#pragma comment(linker, "/EXPORT:GetAtomNameA=kernel32.GetAtomNameA")
#pragma comment(linker, "/EXPORT:GetAtomNameW=kernel32.GetAtomNameW")
#pragma comment(linker, "/EXPORT:GetBinaryType=kernel32.GetBinaryType")
#pragma comment(linker, "/EXPORT:GetBinaryTypeA=kernel32.GetBinaryTypeA")
#pragma comment(linker, "/EXPORT:GetBinaryTypeW=kernel32.GetBinaryTypeW")
#pragma comment(linker, "/EXPORT:GetCPInfo=kernel32.GetCPInfo")
#pragma comment(linker, "/EXPORT:GetCPInfoExA=kernel32.GetCPInfoExA")
#pragma comment(linker, "/EXPORT:GetCPInfoExW=kernel32.GetCPInfoExW")
#pragma comment(linker, "/EXPORT:GetCalendarDateFormat=kernel32.GetCalendarDateFormat")
#pragma comment(linker, "/EXPORT:GetCalendarDateFormatEx=kernel32.GetCalendarDateFormatEx")
#pragma comment(linker, "/EXPORT:GetCalendarDaysInMonth=kernel32.GetCalendarDaysInMonth")
#pragma comment(linker, "/EXPORT:GetCalendarDifferenceInDays=kernel32.GetCalendarDifferenceInDays")
#pragma comment(linker, "/EXPORT:GetCalendarInfoA=kernel32.GetCalendarInfoA")
#pragma comment(linker, "/EXPORT:GetCalendarInfoEx=kernel32.GetCalendarInfoEx")
#pragma comment(linker, "/EXPORT:GetCalendarInfoW=kernel32.GetCalendarInfoW")
#pragma comment(linker, "/EXPORT:GetCalendarMonthsInYear=kernel32.GetCalendarMonthsInYear")
#pragma comment(linker, "/EXPORT:GetCalendarSupportedDateRange=kernel32.GetCalendarSupportedDateRange")
#pragma comment(linker, "/EXPORT:GetCalendarWeekNumber=kernel32.GetCalendarWeekNumber")
#pragma comment(linker, "/EXPORT:GetComPlusPackageInstallStatus=kernel32.GetComPlusPackageInstallStatus")
#pragma comment(linker, "/EXPORT:GetCommConfig=kernel32.GetCommConfig")
#pragma comment(linker, "/EXPORT:GetCommMask=kernel32.GetCommMask")
#pragma comment(linker, "/EXPORT:GetCommModemStatus=kernel32.GetCommModemStatus")
#pragma comment(linker, "/EXPORT:GetCommProperties=kernel32.GetCommProperties")
#pragma comment(linker, "/EXPORT:GetCommState=kernel32.GetCommState")
#pragma comment(linker, "/EXPORT:GetCommTimeouts=kernel32.GetCommTimeouts")
#pragma comment(linker, "/EXPORT:GetCommandLineA=kernel32.GetCommandLineA")
#pragma comment(linker, "/EXPORT:GetCommandLineW=kernel32.GetCommandLineW")
#pragma comment(linker, "/EXPORT:GetCompressedFileSizeA=kernel32.GetCompressedFileSizeA")
#pragma comment(linker, "/EXPORT:GetCompressedFileSizeTransactedA=kernel32.GetCompressedFileSizeTransactedA")
#pragma comment(linker, "/EXPORT:GetCompressedFileSizeTransactedW=kernel32.GetCompressedFileSizeTransactedW")
#pragma comment(linker, "/EXPORT:GetCompressedFileSizeW=kernel32.GetCompressedFileSizeW")
#pragma comment(linker, "/EXPORT:GetComputerNameA=kernel32.GetComputerNameA")
#pragma comment(linker, "/EXPORT:GetComputerNameExA=kernel32.GetComputerNameExA")
#pragma comment(linker, "/EXPORT:GetComputerNameExW=kernel32.GetComputerNameExW")
#pragma comment(linker, "/EXPORT:GetComputerNameW=kernel32.GetComputerNameW")
#pragma comment(linker, "/EXPORT:GetConsoleAliasA=kernel32.GetConsoleAliasA")
#pragma comment(linker, "/EXPORT:GetConsoleAliasExesA=kernel32.GetConsoleAliasExesA")
#pragma comment(linker, "/EXPORT:GetConsoleAliasExesLengthA=kernel32.GetConsoleAliasExesLengthA")
#pragma comment(linker, "/EXPORT:GetConsoleAliasExesLengthW=kernel32.GetConsoleAliasExesLengthW")
#pragma comment(linker, "/EXPORT:GetConsoleAliasExesW=kernel32.GetConsoleAliasExesW")
#pragma comment(linker, "/EXPORT:GetConsoleAliasW=kernel32.GetConsoleAliasW")
#pragma comment(linker, "/EXPORT:GetConsoleAliasesA=kernel32.GetConsoleAliasesA")
#pragma comment(linker, "/EXPORT:GetConsoleAliasesLengthA=kernel32.GetConsoleAliasesLengthA")
#pragma comment(linker, "/EXPORT:GetConsoleAliasesLengthW=kernel32.GetConsoleAliasesLengthW")
#pragma comment(linker, "/EXPORT:GetConsoleAliasesW=kernel32.GetConsoleAliasesW")
#pragma comment(linker, "/EXPORT:GetConsoleCP=kernel32.GetConsoleCP")
#pragma comment(linker, "/EXPORT:GetConsoleCharType=kernel32.GetConsoleCharType")
#pragma comment(linker, "/EXPORT:GetConsoleCommandHistoryA=kernel32.GetConsoleCommandHistoryA")
#pragma comment(linker, "/EXPORT:GetConsoleCommandHistoryLengthA=kernel32.GetConsoleCommandHistoryLengthA")
#pragma comment(linker, "/EXPORT:GetConsoleCommandHistoryLengthW=kernel32.GetConsoleCommandHistoryLengthW")
#pragma comment(linker, "/EXPORT:GetConsoleCommandHistoryW=kernel32.GetConsoleCommandHistoryW")
#pragma comment(linker, "/EXPORT:GetConsoleCursorInfo=kernel32.GetConsoleCursorInfo")
#pragma comment(linker, "/EXPORT:GetConsoleCursorMode=kernel32.GetConsoleCursorMode")
#pragma comment(linker, "/EXPORT:GetConsoleDisplayMode=kernel32.GetConsoleDisplayMode")
#pragma comment(linker, "/EXPORT:GetConsoleFontInfo=kernel32.GetConsoleFontInfo")
#pragma comment(linker, "/EXPORT:GetConsoleFontSize=kernel32.GetConsoleFontSize")
#pragma comment(linker, "/EXPORT:GetConsoleHardwareState=kernel32.GetConsoleHardwareState")
#pragma comment(linker, "/EXPORT:GetConsoleHistoryInfo=kernel32.GetConsoleHistoryInfo")
#pragma comment(linker, "/EXPORT:GetConsoleInputExeNameA=kernel32.GetConsoleInputExeNameA")
#pragma comment(linker, "/EXPORT:GetConsoleInputExeNameW=kernel32.GetConsoleInputExeNameW")
#pragma comment(linker, "/EXPORT:GetConsoleInputWaitHandle=kernel32.GetConsoleInputWaitHandle")
#pragma comment(linker, "/EXPORT:GetConsoleKeyboardLayoutNameA=kernel32.GetConsoleKeyboardLayoutNameA")
#pragma comment(linker, "/EXPORT:GetConsoleKeyboardLayoutNameW=kernel32.GetConsoleKeyboardLayoutNameW")
#pragma comment(linker, "/EXPORT:GetConsoleMode=kernel32.GetConsoleMode")
#pragma comment(linker, "/EXPORT:GetConsoleNlsMode=kernel32.GetConsoleNlsMode")
#pragma comment(linker, "/EXPORT:GetConsoleOriginalTitleA=kernel32.GetConsoleOriginalTitleA")
#pragma comment(linker, "/EXPORT:GetConsoleOriginalTitleW=kernel32.GetConsoleOriginalTitleW")
#pragma comment(linker, "/EXPORT:GetConsoleOutputCP=kernel32.GetConsoleOutputCP")
#pragma comment(linker, "/EXPORT:GetConsoleProcessList=kernel32.GetConsoleProcessList")
#pragma comment(linker, "/EXPORT:GetConsoleScreenBufferInfo=kernel32.GetConsoleScreenBufferInfo")
#pragma comment(linker, "/EXPORT:GetConsoleScreenBufferInfoEx=kernel32.GetConsoleScreenBufferInfoEx")
#pragma comment(linker, "/EXPORT:GetConsoleSelectionInfo=kernel32.GetConsoleSelectionInfo")
#pragma comment(linker, "/EXPORT:GetConsoleTitleA=kernel32.GetConsoleTitleA")
#pragma comment(linker, "/EXPORT:GetConsoleTitleW=kernel32.GetConsoleTitleW")
#pragma comment(linker, "/EXPORT:GetConsoleWindow=kernel32.GetConsoleWindow")
#pragma comment(linker, "/EXPORT:GetCurrencyFormatA=kernel32.GetCurrencyFormatA")
#pragma comment(linker, "/EXPORT:GetCurrencyFormatEx=kernel32.GetCurrencyFormatEx")
#pragma comment(linker, "/EXPORT:GetCurrencyFormatW=kernel32.GetCurrencyFormatW")
#pragma comment(linker, "/EXPORT:GetCurrentActCtx=kernel32.GetCurrentActCtx")
#pragma comment(linker, "/EXPORT:GetCurrentConsoleFont=kernel32.GetCurrentConsoleFont")
#pragma comment(linker, "/EXPORT:GetCurrentConsoleFontEx=kernel32.GetCurrentConsoleFontEx")
#pragma comment(linker, "/EXPORT:GetCurrentDirectoryA=kernel32.GetCurrentDirectoryA")
#pragma comment(linker, "/EXPORT:GetCurrentDirectoryW=kernel32.GetCurrentDirectoryW")
#pragma comment(linker, "/EXPORT:GetCurrentProcess=kernel32.GetCurrentProcess")
#pragma comment(linker, "/EXPORT:GetCurrentProcessId=kernel32.GetCurrentProcessId")
#pragma comment(linker, "/EXPORT:GetCurrentProcessorNumber=kernel32.GetCurrentProcessorNumber")
#pragma comment(linker, "/EXPORT:GetCurrentProcessorNumberEx=kernel32.GetCurrentProcessorNumberEx")
#pragma comment(linker, "/EXPORT:GetCurrentThread=kernel32.GetCurrentThread")
#pragma comment(linker, "/EXPORT:GetCurrentThreadId=kernel32.GetCurrentThreadId")
#pragma comment(linker, "/EXPORT:GetDateFormatA=kernel32.GetDateFormatA")
#pragma comment(linker, "/EXPORT:GetDateFormatEx=kernel32.GetDateFormatEx")
#pragma comment(linker, "/EXPORT:GetDateFormatW=kernel32.GetDateFormatW")
#pragma comment(linker, "/EXPORT:GetDefaultCommConfigA=kernel32.GetDefaultCommConfigA")
#pragma comment(linker, "/EXPORT:GetDefaultCommConfigW=kernel32.GetDefaultCommConfigW")
#pragma comment(linker, "/EXPORT:GetDevicePowerState=kernel32.GetDevicePowerState")
#pragma comment(linker, "/EXPORT:GetDiskFreeSpaceA=kernel32.GetDiskFreeSpaceA")
#pragma comment(linker, "/EXPORT:GetDiskFreeSpaceExA=kernel32.GetDiskFreeSpaceExA")
#pragma comment(linker, "/EXPORT:GetDiskFreeSpaceExW=kernel32.GetDiskFreeSpaceExW")
#pragma comment(linker, "/EXPORT:GetDiskFreeSpaceW=kernel32.GetDiskFreeSpaceW")
#pragma comment(linker, "/EXPORT:GetDllDirectoryA=kernel32.GetDllDirectoryA")
#pragma comment(linker, "/EXPORT:GetDllDirectoryW=kernel32.GetDllDirectoryW")
#pragma comment(linker, "/EXPORT:GetDriveTypeA=kernel32.GetDriveTypeA")
#pragma comment(linker, "/EXPORT:GetDriveTypeW=kernel32.GetDriveTypeW")
#pragma comment(linker, "/EXPORT:GetDurationFormat=kernel32.GetDurationFormat")
#pragma comment(linker, "/EXPORT:GetDurationFormatEx=kernel32.GetDurationFormatEx")
#pragma comment(linker, "/EXPORT:GetDynamicTimeZoneInformation=kernel32.GetDynamicTimeZoneInformation")
#pragma comment(linker, "/EXPORT:GetEnabledXStateFeatures=kernel32.GetEnabledXStateFeatures")
#pragma comment(linker, "/EXPORT:GetEnvironmentStrings=kernel32.GetEnvironmentStrings")
#pragma comment(linker, "/EXPORT:GetEnvironmentStringsA=kernel32.GetEnvironmentStringsA")
#pragma comment(linker, "/EXPORT:GetEnvironmentStringsW=kernel32.GetEnvironmentStringsW")
#pragma comment(linker, "/EXPORT:GetEnvironmentVariableA=kernel32.GetEnvironmentVariableA")
#pragma comment(linker, "/EXPORT:GetEnvironmentVariableW=kernel32.GetEnvironmentVariableW")
#pragma comment(linker, "/EXPORT:GetEraNameCountedString=kernel32.GetEraNameCountedString")
#pragma comment(linker, "/EXPORT:GetErrorMode=kernel32.GetErrorMode")
#pragma comment(linker, "/EXPORT:GetExitCodeProcess=kernel32.GetExitCodeProcess")
#pragma comment(linker, "/EXPORT:GetExitCodeThread=kernel32.GetExitCodeThread")
#pragma comment(linker, "/EXPORT:GetExpandedNameA=kernel32.GetExpandedNameA")
#pragma comment(linker, "/EXPORT:GetExpandedNameW=kernel32.GetExpandedNameW")
#pragma comment(linker, "/EXPORT:GetFileAttributesA=kernel32.GetFileAttributesA")
#pragma comment(linker, "/EXPORT:GetFileAttributesExA=kernel32.GetFileAttributesExA")
#pragma comment(linker, "/EXPORT:GetFileAttributesExW=kernel32.GetFileAttributesExW")
#pragma comment(linker, "/EXPORT:GetFileAttributesTransactedA=kernel32.GetFileAttributesTransactedA")
#pragma comment(linker, "/EXPORT:GetFileAttributesTransactedW=kernel32.GetFileAttributesTransactedW")
#pragma comment(linker, "/EXPORT:GetFileAttributesW=kernel32.GetFileAttributesW")
#pragma comment(linker, "/EXPORT:GetFileBandwidthReservation=kernel32.GetFileBandwidthReservation")
#pragma comment(linker, "/EXPORT:GetFileInformationByHandle=kernel32.GetFileInformationByHandle")
#pragma comment(linker, "/EXPORT:GetFileInformationByHandleEx=kernel32.GetFileInformationByHandleEx")
#pragma comment(linker, "/EXPORT:GetFileMUIInfo=kernel32.GetFileMUIInfo")
#pragma comment(linker, "/EXPORT:GetFileMUIPath=kernel32.GetFileMUIPath")
#pragma comment(linker, "/EXPORT:GetFileSize=kernel32.GetFileSize")
#pragma comment(linker, "/EXPORT:GetFileSizeEx=kernel32.GetFileSizeEx")
#pragma comment(linker, "/EXPORT:GetFileTime=kernel32.GetFileTime")
#pragma comment(linker, "/EXPORT:GetFileType=kernel32.GetFileType")
#pragma comment(linker, "/EXPORT:GetFinalPathNameByHandleA=kernel32.GetFinalPathNameByHandleA")
#pragma comment(linker, "/EXPORT:GetFinalPathNameByHandleW=kernel32.GetFinalPathNameByHandleW")
#pragma comment(linker, "/EXPORT:GetFirmwareEnvironmentVariableA=kernel32.GetFirmwareEnvironmentVariableA")
#pragma comment(linker, "/EXPORT:GetFirmwareEnvironmentVariableW=kernel32.GetFirmwareEnvironmentVariableW")
#pragma comment(linker, "/EXPORT:GetFullPathNameA=kernel32.GetFullPathNameA")
#pragma comment(linker, "/EXPORT:GetFullPathNameTransactedA=kernel32.GetFullPathNameTransactedA")
#pragma comment(linker, "/EXPORT:GetFullPathNameTransactedW=kernel32.GetFullPathNameTransactedW")
#pragma comment(linker, "/EXPORT:GetFullPathNameW=kernel32.GetFullPathNameW")
#pragma comment(linker, "/EXPORT:GetGeoInfoA=kernel32.GetGeoInfoA")
#pragma comment(linker, "/EXPORT:GetGeoInfoW=kernel32.GetGeoInfoW")
#pragma comment(linker, "/EXPORT:GetHandleInformation=kernel32.GetHandleInformation")
#pragma comment(linker, "/EXPORT:GetLargePageMinimum=kernel32.GetLargePageMinimum")
#pragma comment(linker, "/EXPORT:GetLargestConsoleWindowSize=kernel32.GetLargestConsoleWindowSize")
#pragma comment(linker, "/EXPORT:GetLastError=kernel32.GetLastError")
#pragma comment(linker, "/EXPORT:GetLocalTime=kernel32.GetLocalTime")
#pragma comment(linker, "/EXPORT:GetLocaleInfoA=kernel32.GetLocaleInfoA")
#pragma comment(linker, "/EXPORT:GetLocaleInfoEx=kernel32.GetLocaleInfoEx")
#pragma comment(linker, "/EXPORT:GetLocaleInfoW=kernel32.GetLocaleInfoW")
#pragma comment(linker, "/EXPORT:GetLogicalDriveStringsA=kernel32.GetLogicalDriveStringsA")
#pragma comment(linker, "/EXPORT:GetLogicalDriveStringsW=kernel32.GetLogicalDriveStringsW")
#pragma comment(linker, "/EXPORT:GetLogicalDrives=kernel32.GetLogicalDrives")
#pragma comment(linker, "/EXPORT:GetLogicalProcessorInformation=kernel32.GetLogicalProcessorInformation")
#pragma comment(linker, "/EXPORT:GetLogicalProcessorInformationEx=kernel32.GetLogicalProcessorInformationEx")
#pragma comment(linker, "/EXPORT:GetLongPathNameA=kernel32.GetLongPathNameA")
#pragma comment(linker, "/EXPORT:GetLongPathNameTransactedA=kernel32.GetLongPathNameTransactedA")
#pragma comment(linker, "/EXPORT:GetLongPathNameTransactedW=kernel32.GetLongPathNameTransactedW")
#pragma comment(linker, "/EXPORT:GetLongPathNameW=kernel32.GetLongPathNameW")
#pragma comment(linker, "/EXPORT:GetMailslotInfo=kernel32.GetMailslotInfo")
#pragma comment(linker, "/EXPORT:GetMaximumProcessorCount=kernel32.GetMaximumProcessorCount")
#pragma comment(linker, "/EXPORT:GetMaximumProcessorGroupCount=kernel32.GetMaximumProcessorGroupCount")
#pragma comment(linker, "/EXPORT:GetModuleFileNameA=kernel32.GetModuleFileNameA")
#pragma comment(linker, "/EXPORT:GetModuleFileNameW=kernel32.GetModuleFileNameW")
//#pragma comment(linker, "/EXPORT:GetModuleHandleA=kernel32.GetModuleHandleA")
//#pragma comment(linker, "/EXPORT:GetModuleHandleExA=kernel32.GetModuleHandleExA")
//#pragma comment(linker, "/EXPORT:GetModuleHandleExW=kernel32.GetModuleHandleExW")
//#pragma comment(linker, "/EXPORT:GetModuleHandleW=kernel32.GetModuleHandleW")
#pragma comment(linker, "/EXPORT:GetNLSVersion=kernel32.GetNLSVersion")
#pragma comment(linker, "/EXPORT:GetNLSVersionEx=kernel32.GetNLSVersionEx")
#pragma comment(linker, "/EXPORT:GetNamedPipeAttribute=kernel32.GetNamedPipeAttribute")
#pragma comment(linker, "/EXPORT:GetNamedPipeClientComputerNameA=kernel32.GetNamedPipeClientComputerNameA")
#pragma comment(linker, "/EXPORT:GetNamedPipeClientComputerNameW=kernel32.GetNamedPipeClientComputerNameW")
#pragma comment(linker, "/EXPORT:GetNamedPipeClientProcessId=kernel32.GetNamedPipeClientProcessId")
#pragma comment(linker, "/EXPORT:GetNamedPipeClientSessionId=kernel32.GetNamedPipeClientSessionId")
#pragma comment(linker, "/EXPORT:GetNamedPipeHandleStateA=kernel32.GetNamedPipeHandleStateA")
#pragma comment(linker, "/EXPORT:GetNamedPipeHandleStateW=kernel32.GetNamedPipeHandleStateW")
#pragma comment(linker, "/EXPORT:GetNamedPipeInfo=kernel32.GetNamedPipeInfo")
#pragma comment(linker, "/EXPORT:GetNamedPipeServerProcessId=kernel32.GetNamedPipeServerProcessId")
#pragma comment(linker, "/EXPORT:GetNamedPipeServerSessionId=kernel32.GetNamedPipeServerSessionId")
#pragma comment(linker, "/EXPORT:GetNativeSystemInfo=kernel32.GetNativeSystemInfo")
#pragma comment(linker, "/EXPORT:GetNextVDMCommand=kernel32.GetNextVDMCommand")
#pragma comment(linker, "/EXPORT:GetNumaAvailableMemoryNode=kernel32.GetNumaAvailableMemoryNode")
#pragma comment(linker, "/EXPORT:GetNumaAvailableMemoryNodeEx=kernel32.GetNumaAvailableMemoryNodeEx")
#pragma comment(linker, "/EXPORT:GetNumaHighestNodeNumber=kernel32.GetNumaHighestNodeNumber")
#pragma comment(linker, "/EXPORT:GetNumaNodeNumberFromHandle=kernel32.GetNumaNodeNumberFromHandle")
#pragma comment(linker, "/EXPORT:GetNumaNodeProcessorMask=kernel32.GetNumaNodeProcessorMask")
#pragma comment(linker, "/EXPORT:GetNumaNodeProcessorMaskEx=kernel32.GetNumaNodeProcessorMaskEx")
#pragma comment(linker, "/EXPORT:GetNumaProcessorNode=kernel32.GetNumaProcessorNode")
#pragma comment(linker, "/EXPORT:GetNumaProcessorNodeEx=kernel32.GetNumaProcessorNodeEx")
#pragma comment(linker, "/EXPORT:GetNumaProximityNode=kernel32.GetNumaProximityNode")
#pragma comment(linker, "/EXPORT:GetNumaProximityNodeEx=kernel32.GetNumaProximityNodeEx")
#pragma comment(linker, "/EXPORT:GetNumberFormatA=kernel32.GetNumberFormatA")
#pragma comment(linker, "/EXPORT:GetNumberFormatEx=kernel32.GetNumberFormatEx")
#pragma comment(linker, "/EXPORT:GetNumberFormatW=kernel32.GetNumberFormatW")
#pragma comment(linker, "/EXPORT:GetNumberOfConsoleFonts=kernel32.GetNumberOfConsoleFonts")
#pragma comment(linker, "/EXPORT:GetNumberOfConsoleInputEvents=kernel32.GetNumberOfConsoleInputEvents")
#pragma comment(linker, "/EXPORT:GetNumberOfConsoleMouseButtons=kernel32.GetNumberOfConsoleMouseButtons")
#pragma comment(linker, "/EXPORT:GetOEMCP=kernel32.GetOEMCP")
#pragma comment(linker, "/EXPORT:GetOverlappedResult=kernel32.GetOverlappedResult")
#pragma comment(linker, "/EXPORT:GetPhysicallyInstalledSystemMemory=kernel32.GetPhysicallyInstalledSystemMemory")
#pragma comment(linker, "/EXPORT:GetPriorityClass=kernel32.GetPriorityClass")
#pragma comment(linker, "/EXPORT:GetPrivateProfileIntA=kernel32.GetPrivateProfileIntA")
#pragma comment(linker, "/EXPORT:GetPrivateProfileIntW=kernel32.GetPrivateProfileIntW")
#pragma comment(linker, "/EXPORT:GetPrivateProfileSectionA=kernel32.GetPrivateProfileSectionA")
#pragma comment(linker, "/EXPORT:GetPrivateProfileSectionNamesA=kernel32.GetPrivateProfileSectionNamesA")
#pragma comment(linker, "/EXPORT:GetPrivateProfileSectionNamesW=kernel32.GetPrivateProfileSectionNamesW")
#pragma comment(linker, "/EXPORT:GetPrivateProfileSectionW=kernel32.GetPrivateProfileSectionW")
#pragma comment(linker, "/EXPORT:GetPrivateProfileStringA=kernel32.GetPrivateProfileStringA")
#pragma comment(linker, "/EXPORT:GetPrivateProfileStringW=kernel32.GetPrivateProfileStringW")
#pragma comment(linker, "/EXPORT:GetPrivateProfileStructA=kernel32.GetPrivateProfileStructA")
#pragma comment(linker, "/EXPORT:GetPrivateProfileStructW=kernel32.GetPrivateProfileStructW")
#pragma comment(linker, "/EXPORT:GetProcAddress=kernel32.GetProcAddress")
#pragma comment(linker, "/EXPORT:GetProcessAffinityMask=kernel32.GetProcessAffinityMask")
#pragma comment(linker, "/EXPORT:GetProcessDEPPolicy=kernel32.GetProcessDEPPolicy")
#pragma comment(linker, "/EXPORT:GetProcessGroupAffinity=kernel32.GetProcessGroupAffinity")
#pragma comment(linker, "/EXPORT:GetProcessHandleCount=kernel32.GetProcessHandleCount")
#pragma comment(linker, "/EXPORT:GetProcessHeap=kernel32.GetProcessHeap")
#pragma comment(linker, "/EXPORT:GetProcessHeaps=kernel32.GetProcessHeaps")
#pragma comment(linker, "/EXPORT:GetProcessId=kernel32.GetProcessId")
#pragma comment(linker, "/EXPORT:GetProcessIdOfThread=kernel32.GetProcessIdOfThread")
#pragma comment(linker, "/EXPORT:GetProcessIoCounters=kernel32.GetProcessIoCounters")
#pragma comment(linker, "/EXPORT:GetProcessPreferredUILanguages=kernel32.GetProcessPreferredUILanguages")
#pragma comment(linker, "/EXPORT:GetProcessPriorityBoost=kernel32.GetProcessPriorityBoost")
#pragma comment(linker, "/EXPORT:GetProcessShutdownParameters=kernel32.GetProcessShutdownParameters")
#pragma comment(linker, "/EXPORT:GetProcessTimes=kernel32.GetProcessTimes")
#pragma comment(linker, "/EXPORT:GetProcessUserModeExceptionPolicy=kernel32.GetProcessUserModeExceptionPolicy")
#pragma comment(linker, "/EXPORT:GetProcessVersion=kernel32.GetProcessVersion")
#pragma comment(linker, "/EXPORT:GetProcessWorkingSetSize=kernel32.GetProcessWorkingSetSize")
#pragma comment(linker, "/EXPORT:GetProcessWorkingSetSizeEx=kernel32.GetProcessWorkingSetSizeEx")
#pragma comment(linker, "/EXPORT:GetProcessorSystemCycleTime=kernel32.GetProcessorSystemCycleTime")
#pragma comment(linker, "/EXPORT:GetProductInfo=kernel32.GetProductInfo")
#pragma comment(linker, "/EXPORT:GetProfileIntA=kernel32.GetProfileIntA")
#pragma comment(linker, "/EXPORT:GetProfileIntW=kernel32.GetProfileIntW")
#pragma comment(linker, "/EXPORT:GetProfileSectionA=kernel32.GetProfileSectionA")
#pragma comment(linker, "/EXPORT:GetProfileSectionW=kernel32.GetProfileSectionW")
#pragma comment(linker, "/EXPORT:GetProfileStringA=kernel32.GetProfileStringA")
#pragma comment(linker, "/EXPORT:GetProfileStringW=kernel32.GetProfileStringW")
#pragma comment(linker, "/EXPORT:GetQueuedCompletionStatus=kernel32.GetQueuedCompletionStatus")
#pragma comment(linker, "/EXPORT:GetQueuedCompletionStatusEx=kernel32.GetQueuedCompletionStatusEx")
#pragma comment(linker, "/EXPORT:GetShortPathNameA=kernel32.GetShortPathNameA")
#pragma comment(linker, "/EXPORT:GetShortPathNameW=kernel32.GetShortPathNameW")
#pragma comment(linker, "/EXPORT:GetStartupInfoA=kernel32.GetStartupInfoA")
#pragma comment(linker, "/EXPORT:GetStartupInfoW=kernel32.GetStartupInfoW")
#pragma comment(linker, "/EXPORT:GetStdHandle=kernel32.GetStdHandle")
#pragma comment(linker, "/EXPORT:GetStringScripts=kernel32.GetStringScripts")
#pragma comment(linker, "/EXPORT:GetStringTypeA=kernel32.GetStringTypeA")
#pragma comment(linker, "/EXPORT:GetStringTypeExA=kernel32.GetStringTypeExA")
#pragma comment(linker, "/EXPORT:GetStringTypeExW=kernel32.GetStringTypeExW")
#pragma comment(linker, "/EXPORT:GetStringTypeW=kernel32.GetStringTypeW")
#pragma comment(linker, "/EXPORT:GetSystemDEPPolicy=kernel32.GetSystemDEPPolicy")
#pragma comment(linker, "/EXPORT:GetSystemDefaultLCID=kernel32.GetSystemDefaultLCID")
#pragma comment(linker, "/EXPORT:GetSystemDefaultLangID=kernel32.GetSystemDefaultLangID")
#pragma comment(linker, "/EXPORT:GetSystemDefaultLocaleName=kernel32.GetSystemDefaultLocaleName")
#pragma comment(linker, "/EXPORT:GetSystemDefaultUILanguage=kernel32.GetSystemDefaultUILanguage")
#pragma comment(linker, "/EXPORT:GetSystemDirectoryA=kernel32.GetSystemDirectoryA")
#pragma comment(linker, "/EXPORT:GetSystemDirectoryW=kernel32.GetSystemDirectoryW")
#pragma comment(linker, "/EXPORT:GetSystemFileCacheSize=kernel32.GetSystemFileCacheSize")
#pragma comment(linker, "/EXPORT:GetSystemFirmwareTable=kernel32.GetSystemFirmwareTable")
#pragma comment(linker, "/EXPORT:GetSystemInfo=kernel32.GetSystemInfo")
#pragma comment(linker, "/EXPORT:GetSystemPowerStatus=kernel32.GetSystemPowerStatus")
#pragma comment(linker, "/EXPORT:GetSystemPreferredUILanguages=kernel32.GetSystemPreferredUILanguages")
#pragma comment(linker, "/EXPORT:GetSystemRegistryQuota=kernel32.GetSystemRegistryQuota")
#pragma comment(linker, "/EXPORT:GetSystemTime=kernel32.GetSystemTime")
#pragma comment(linker, "/EXPORT:GetSystemTimeAdjustment=kernel32.GetSystemTimeAdjustment")
#pragma comment(linker, "/EXPORT:GetSystemTimeAsFileTime=kernel32.GetSystemTimeAsFileTime")
#pragma comment(linker, "/EXPORT:GetSystemTimes=kernel32.GetSystemTimes")
#pragma comment(linker, "/EXPORT:GetSystemWindowsDirectoryA=kernel32.GetSystemWindowsDirectoryA")
#pragma comment(linker, "/EXPORT:GetSystemWindowsDirectoryW=kernel32.GetSystemWindowsDirectoryW")
#pragma comment(linker, "/EXPORT:GetSystemWow64DirectoryA=kernel32.GetSystemWow64DirectoryA")
#pragma comment(linker, "/EXPORT:GetSystemWow64DirectoryW=kernel32.GetSystemWow64DirectoryW")
#pragma comment(linker, "/EXPORT:GetTapeParameters=kernel32.GetTapeParameters")
#pragma comment(linker, "/EXPORT:GetTapePosition=kernel32.GetTapePosition")
#pragma comment(linker, "/EXPORT:GetTapeStatus=kernel32.GetTapeStatus")
#pragma comment(linker, "/EXPORT:GetTempFileNameA=kernel32.GetTempFileNameA")
#pragma comment(linker, "/EXPORT:GetTempFileNameW=kernel32.GetTempFileNameW")
#pragma comment(linker, "/EXPORT:GetTempPathA=kernel32.GetTempPathA")
#pragma comment(linker, "/EXPORT:GetTempPathW=kernel32.GetTempPathW")
#pragma comment(linker, "/EXPORT:GetThreadContext=kernel32.GetThreadContext")
#pragma comment(linker, "/EXPORT:GetThreadErrorMode=kernel32.GetThreadErrorMode")
#pragma comment(linker, "/EXPORT:GetThreadGroupAffinity=kernel32.GetThreadGroupAffinity")
#pragma comment(linker, "/EXPORT:GetThreadIOPendingFlag=kernel32.GetThreadIOPendingFlag")
#pragma comment(linker, "/EXPORT:GetThreadId=kernel32.GetThreadId")
#pragma comment(linker, "/EXPORT:GetThreadIdealProcessorEx=kernel32.GetThreadIdealProcessorEx")
#pragma comment(linker, "/EXPORT:GetThreadLocale=kernel32.GetThreadLocale")
#pragma comment(linker, "/EXPORT:GetThreadPreferredUILanguages=kernel32.GetThreadPreferredUILanguages")
#pragma comment(linker, "/EXPORT:GetThreadPriority=kernel32.GetThreadPriority")
#pragma comment(linker, "/EXPORT:GetThreadPriorityBoost=kernel32.GetThreadPriorityBoost")
#pragma comment(linker, "/EXPORT:GetThreadSelectorEntry=kernel32.GetThreadSelectorEntry")
#pragma comment(linker, "/EXPORT:GetThreadTimes=kernel32.GetThreadTimes")
#pragma comment(linker, "/EXPORT:GetThreadUILanguage=kernel32.GetThreadUILanguage")
#pragma comment(linker, "/EXPORT:GetTickCount=kernel32.GetTickCount")
#pragma comment(linker, "/EXPORT:GetTickCount64=kernel32.GetTickCount64")
#pragma comment(linker, "/EXPORT:GetTimeFormatA=kernel32.GetTimeFormatA")
#pragma comment(linker, "/EXPORT:GetTimeFormatEx=kernel32.GetTimeFormatEx")
#pragma comment(linker, "/EXPORT:GetTimeFormatW=kernel32.GetTimeFormatW")
#pragma comment(linker, "/EXPORT:GetTimeZoneInformation=kernel32.GetTimeZoneInformation")
#pragma comment(linker, "/EXPORT:GetTimeZoneInformationForYear=kernel32.GetTimeZoneInformationForYear")
#pragma comment(linker, "/EXPORT:GetUILanguageInfo=kernel32.GetUILanguageInfo")
#pragma comment(linker, "/EXPORT:GetUserDefaultLCID=kernel32.GetUserDefaultLCID")
#pragma comment(linker, "/EXPORT:GetUserDefaultLangID=kernel32.GetUserDefaultLangID")
#pragma comment(linker, "/EXPORT:GetUserDefaultLocaleName=kernel32.GetUserDefaultLocaleName")
#pragma comment(linker, "/EXPORT:GetUserDefaultUILanguage=kernel32.GetUserDefaultUILanguage")
#pragma comment(linker, "/EXPORT:GetUserGeoID=kernel32.GetUserGeoID")
#pragma comment(linker, "/EXPORT:GetUserPreferredUILanguages=kernel32.GetUserPreferredUILanguages")
#pragma comment(linker, "/EXPORT:GetVDMCurrentDirectories=kernel32.GetVDMCurrentDirectories")
#pragma comment(linker, "/EXPORT:GetVersion=kernel32.GetVersion")
//#pragma comment(linker, "/EXPORT:GetVersionExA=kernel32.GetVersionExA")
#pragma comment(linker, "/EXPORT:GetVersionExW=kernel32.GetVersionExW")
#pragma comment(linker, "/EXPORT:GetVolumeInformationA=kernel32.GetVolumeInformationA")
#pragma comment(linker, "/EXPORT:GetVolumeInformationByHandleW=kernel32.GetVolumeInformationByHandleW")
#pragma comment(linker, "/EXPORT:GetVolumeInformationW=kernel32.GetVolumeInformationW")
#pragma comment(linker, "/EXPORT:GetVolumeNameForVolumeMountPointA=kernel32.GetVolumeNameForVolumeMountPointA")
#pragma comment(linker, "/EXPORT:GetVolumeNameForVolumeMountPointW=kernel32.GetVolumeNameForVolumeMountPointW")
#pragma comment(linker, "/EXPORT:GetVolumePathNameA=kernel32.GetVolumePathNameA")
#pragma comment(linker, "/EXPORT:GetVolumePathNameW=kernel32.GetVolumePathNameW")
#pragma comment(linker, "/EXPORT:GetVolumePathNamesForVolumeNameA=kernel32.GetVolumePathNamesForVolumeNameA")
#pragma comment(linker, "/EXPORT:GetVolumePathNamesForVolumeNameW=kernel32.GetVolumePathNamesForVolumeNameW")
#pragma comment(linker, "/EXPORT:GetWindowsDirectoryA=kernel32.GetWindowsDirectoryA")
#pragma comment(linker, "/EXPORT:GetWindowsDirectoryW=kernel32.GetWindowsDirectoryW")
#pragma comment(linker, "/EXPORT:GetWriteWatch=kernel32.GetWriteWatch")
#pragma comment(linker, "/EXPORT:GetXStateFeaturesMask=kernel32.GetXStateFeaturesMask")
#pragma comment(linker, "/EXPORT:GlobalAddAtomA=kernel32.GlobalAddAtomA")
#pragma comment(linker, "/EXPORT:GlobalAddAtomW=kernel32.GlobalAddAtomW")
#pragma comment(linker, "/EXPORT:GlobalAlloc=kernel32.GlobalAlloc")
#pragma comment(linker, "/EXPORT:GlobalCompact=kernel32.GlobalCompact")
#pragma comment(linker, "/EXPORT:GlobalDeleteAtom=kernel32.GlobalDeleteAtom")
#pragma comment(linker, "/EXPORT:GlobalFindAtomA=kernel32.GlobalFindAtomA")
#pragma comment(linker, "/EXPORT:GlobalFindAtomW=kernel32.GlobalFindAtomW")
#pragma comment(linker, "/EXPORT:GlobalFix=kernel32.GlobalFix")
#pragma comment(linker, "/EXPORT:GlobalFlags=kernel32.GlobalFlags")
#pragma comment(linker, "/EXPORT:GlobalFree=kernel32.GlobalFree")
#pragma comment(linker, "/EXPORT:GlobalGetAtomNameA=kernel32.GlobalGetAtomNameA")
#pragma comment(linker, "/EXPORT:GlobalGetAtomNameW=kernel32.GlobalGetAtomNameW")
#pragma comment(linker, "/EXPORT:GlobalHandle=kernel32.GlobalHandle")
#pragma comment(linker, "/EXPORT:GlobalLock=kernel32.GlobalLock")
#pragma comment(linker, "/EXPORT:GlobalMemoryStatus=kernel32.GlobalMemoryStatus")
#pragma comment(linker, "/EXPORT:GlobalMemoryStatusEx=kernel32.GlobalMemoryStatusEx")
#pragma comment(linker, "/EXPORT:GlobalReAlloc=kernel32.GlobalReAlloc")
#pragma comment(linker, "/EXPORT:GlobalSize=kernel32.GlobalSize")
#pragma comment(linker, "/EXPORT:GlobalUnWire=kernel32.GlobalUnWire")
#pragma comment(linker, "/EXPORT:GlobalUnfix=kernel32.GlobalUnfix")
#pragma comment(linker, "/EXPORT:GlobalUnlock=kernel32.GlobalUnlock")
#pragma comment(linker, "/EXPORT:GlobalWire=kernel32.GlobalWire")
#pragma comment(linker, "/EXPORT:Heap32First=kernel32.Heap32First")
#pragma comment(linker, "/EXPORT:Heap32ListFirst=kernel32.Heap32ListFirst")
#pragma comment(linker, "/EXPORT:Heap32ListNext=kernel32.Heap32ListNext")
#pragma comment(linker, "/EXPORT:Heap32Next=kernel32.Heap32Next")
#pragma comment(linker, "/EXPORT:HeapAlloc=kernel32.HeapAlloc")
#pragma comment(linker, "/EXPORT:HeapCompact=kernel32.HeapCompact")
//#pragma comment(linker, "/EXPORT:HeapCreate=kernel32.HeapCreate")
#pragma comment(linker, "/EXPORT:HeapDestroy=kernel32.HeapDestroy")
#pragma comment(linker, "/EXPORT:HeapFree=kernel32.HeapFree")
#pragma comment(linker, "/EXPORT:HeapLock=kernel32.HeapLock")
#pragma comment(linker, "/EXPORT:HeapQueryInformation=kernel32.HeapQueryInformation")
#pragma comment(linker, "/EXPORT:HeapReAlloc=kernel32.HeapReAlloc")
#pragma comment(linker, "/EXPORT:HeapSetInformation=kernel32.HeapSetInformation")
#pragma comment(linker, "/EXPORT:HeapSize=kernel32.HeapSize")
#pragma comment(linker, "/EXPORT:HeapSummary=kernel32.HeapSummary")
#pragma comment(linker, "/EXPORT:HeapUnlock=kernel32.HeapUnlock")
#pragma comment(linker, "/EXPORT:HeapValidate=kernel32.HeapValidate")
#pragma comment(linker, "/EXPORT:HeapWalk=kernel32.HeapWalk")
#pragma comment(linker, "/EXPORT:IdnToAscii=kernel32.IdnToAscii")
#pragma comment(linker, "/EXPORT:IdnToNameprepUnicode=kernel32.IdnToNameprepUnicode")
#pragma comment(linker, "/EXPORT:IdnToUnicode=kernel32.IdnToUnicode")
#pragma comment(linker, "/EXPORT:InitAtomTable=kernel32.InitAtomTable")
#pragma comment(linker, "/EXPORT:InitOnceBeginInitialize=kernel32.InitOnceBeginInitialize")
#pragma comment(linker, "/EXPORT:InitOnceComplete=kernel32.InitOnceComplete")
#pragma comment(linker, "/EXPORT:InitOnceExecuteOnce=kernel32.InitOnceExecuteOnce")
#pragma comment(linker, "/EXPORT:InitOnceInitialize=kernel32.InitOnceInitialize")
#pragma comment(linker, "/EXPORT:InitializeConditionVariable=kernel32.InitializeConditionVariable")
#pragma comment(linker, "/EXPORT:InitializeContext=kernel32.InitializeContext")
#pragma comment(linker, "/EXPORT:InitializeCriticalSection=kernel32.InitializeCriticalSection")
#pragma comment(linker, "/EXPORT:InitializeCriticalSectionAndSpinCount=kernel32.InitializeCriticalSectionAndSpinCount")
#pragma comment(linker, "/EXPORT:InitializeCriticalSectionEx=kernel32.InitializeCriticalSectionEx")
#pragma comment(linker, "/EXPORT:InitializeProcThreadAttributeList=kernel32.InitializeProcThreadAttributeList")
#pragma comment(linker, "/EXPORT:InitializeSListHead=kernel32.InitializeSListHead")
#pragma comment(linker, "/EXPORT:InitializeSRWLock=kernel32.InitializeSRWLock")
#pragma comment(linker, "/EXPORT:InterlockedFlushSList=kernel32.InterlockedFlushSList")
#pragma comment(linker, "/EXPORT:InterlockedPopEntrySList=kernel32.InterlockedPopEntrySList")
#pragma comment(linker, "/EXPORT:InterlockedPushEntrySList=kernel32.InterlockedPushEntrySList")
#pragma comment(linker, "/EXPORT:InterlockedPushListSList=kernel32.InterlockedPushListSList")
#pragma comment(linker, "/EXPORT:InvalidateConsoleDIBits=kernel32.InvalidateConsoleDIBits")
#pragma comment(linker, "/EXPORT:IsBadCodePtr=kernel32.IsBadCodePtr")
#pragma comment(linker, "/EXPORT:IsBadHugeReadPtr=kernel32.IsBadHugeReadPtr")
#pragma comment(linker, "/EXPORT:IsBadHugeWritePtr=kernel32.IsBadHugeWritePtr")
#pragma comment(linker, "/EXPORT:IsBadReadPtr=kernel32.IsBadReadPtr")
#pragma comment(linker, "/EXPORT:IsBadStringPtrA=kernel32.IsBadStringPtrA")
#pragma comment(linker, "/EXPORT:IsBadStringPtrW=kernel32.IsBadStringPtrW")
#pragma comment(linker, "/EXPORT:IsBadWritePtr=kernel32.IsBadWritePtr")
#pragma comment(linker, "/EXPORT:IsCalendarLeapDay=kernel32.IsCalendarLeapDay")
#pragma comment(linker, "/EXPORT:IsCalendarLeapMonth=kernel32.IsCalendarLeapMonth")
#pragma comment(linker, "/EXPORT:IsCalendarLeapYear=kernel32.IsCalendarLeapYear")
#pragma comment(linker, "/EXPORT:IsDBCSLeadByte=kernel32.IsDBCSLeadByte")
#pragma comment(linker, "/EXPORT:IsDBCSLeadByteEx=kernel32.IsDBCSLeadByteEx")
#pragma comment(linker, "/EXPORT:IsDebuggerPresent=kernel32.IsDebuggerPresent")
#pragma comment(linker, "/EXPORT:IsNLSDefinedString=kernel32.IsNLSDefinedString")
#pragma comment(linker, "/EXPORT:IsNormalizedString=kernel32.IsNormalizedString")
//#pragma comment(linker, "/EXPORT:IsProcessInJob=kernel32.IsProcessInJob")
#pragma comment(linker, "/EXPORT:IsProcessorFeaturePresent=kernel32.IsProcessorFeaturePresent")
#pragma comment(linker, "/EXPORT:IsSystemResumeAutomatic=kernel32.IsSystemResumeAutomatic")
#pragma comment(linker, "/EXPORT:IsThreadAFiber=kernel32.IsThreadAFiber")
#pragma comment(linker, "/EXPORT:IsThreadpoolTimerSet=kernel32.IsThreadpoolTimerSet")
#pragma comment(linker, "/EXPORT:IsTimeZoneRedirectionEnabled=kernel32.IsTimeZoneRedirectionEnabled")
#pragma comment(linker, "/EXPORT:IsValidCalDateTime=kernel32.IsValidCalDateTime")
#pragma comment(linker, "/EXPORT:IsValidCodePage=kernel32.IsValidCodePage")
#pragma comment(linker, "/EXPORT:IsValidLanguageGroup=kernel32.IsValidLanguageGroup")
#pragma comment(linker, "/EXPORT:IsValidLocale=kernel32.IsValidLocale")
#pragma comment(linker, "/EXPORT:IsValidLocaleName=kernel32.IsValidLocaleName")
#pragma comment(linker, "/EXPORT:IsWow64Process=kernel32.IsWow64Process")
#pragma comment(linker, "/EXPORT:K32EmptyWorkingSet=kernel32.K32EmptyWorkingSet")
#pragma comment(linker, "/EXPORT:K32EnumDeviceDrivers=kernel32.K32EnumDeviceDrivers")
#pragma comment(linker, "/EXPORT:K32EnumPageFilesA=kernel32.K32EnumPageFilesA")
#pragma comment(linker, "/EXPORT:K32EnumPageFilesW=kernel32.K32EnumPageFilesW")
#pragma comment(linker, "/EXPORT:K32EnumProcessModules=kernel32.K32EnumProcessModules")
#pragma comment(linker, "/EXPORT:K32EnumProcessModulesEx=kernel32.K32EnumProcessModulesEx")
#pragma comment(linker, "/EXPORT:K32EnumProcesses=kernel32.K32EnumProcesses")
#pragma comment(linker, "/EXPORT:K32GetDeviceDriverBaseNameA=kernel32.K32GetDeviceDriverBaseNameA")
#pragma comment(linker, "/EXPORT:K32GetDeviceDriverBaseNameW=kernel32.K32GetDeviceDriverBaseNameW")
#pragma comment(linker, "/EXPORT:K32GetDeviceDriverFileNameA=kernel32.K32GetDeviceDriverFileNameA")
#pragma comment(linker, "/EXPORT:K32GetDeviceDriverFileNameW=kernel32.K32GetDeviceDriverFileNameW")
#pragma comment(linker, "/EXPORT:K32GetMappedFileNameA=kernel32.K32GetMappedFileNameA")
#pragma comment(linker, "/EXPORT:K32GetMappedFileNameW=kernel32.K32GetMappedFileNameW")
#pragma comment(linker, "/EXPORT:K32GetModuleBaseNameA=kernel32.K32GetModuleBaseNameA")
#pragma comment(linker, "/EXPORT:K32GetModuleBaseNameW=kernel32.K32GetModuleBaseNameW")
#pragma comment(linker, "/EXPORT:K32GetModuleFileNameExA=kernel32.K32GetModuleFileNameExA")
#pragma comment(linker, "/EXPORT:K32GetModuleFileNameExW=kernel32.K32GetModuleFileNameExW")
#pragma comment(linker, "/EXPORT:K32GetModuleInformation=kernel32.K32GetModuleInformation")
#pragma comment(linker, "/EXPORT:K32GetPerformanceInfo=kernel32.K32GetPerformanceInfo")
#pragma comment(linker, "/EXPORT:K32GetProcessImageFileNameA=kernel32.K32GetProcessImageFileNameA")
#pragma comment(linker, "/EXPORT:K32GetProcessImageFileNameW=kernel32.K32GetProcessImageFileNameW")
#pragma comment(linker, "/EXPORT:K32GetProcessMemoryInfo=kernel32.K32GetProcessMemoryInfo")
#pragma comment(linker, "/EXPORT:K32GetWsChanges=kernel32.K32GetWsChanges")
#pragma comment(linker, "/EXPORT:K32GetWsChangesEx=kernel32.K32GetWsChangesEx")
#pragma comment(linker, "/EXPORT:K32InitializeProcessForWsWatch=kernel32.K32InitializeProcessForWsWatch")
#pragma comment(linker, "/EXPORT:K32QueryWorkingSet=kernel32.K32QueryWorkingSet")
#pragma comment(linker, "/EXPORT:K32QueryWorkingSetEx=kernel32.K32QueryWorkingSetEx")
#pragma comment(linker, "/EXPORT:LCIDToLocaleName=kernel32.LCIDToLocaleName")
#pragma comment(linker, "/EXPORT:LCMapStringA=kernel32.LCMapStringA")
#pragma comment(linker, "/EXPORT:LCMapStringEx=kernel32.LCMapStringEx")
#pragma comment(linker, "/EXPORT:LCMapStringW=kernel32.LCMapStringW")
#pragma comment(linker, "/EXPORT:LZClose=kernel32.LZClose")
#pragma comment(linker, "/EXPORT:LZCloseFile=kernel32.LZCloseFile")
#pragma comment(linker, "/EXPORT:LZCopy=kernel32.LZCopy")
#pragma comment(linker, "/EXPORT:LZCreateFileW=kernel32.LZCreateFileW")
#pragma comment(linker, "/EXPORT:LZDone=kernel32.LZDone")
#pragma comment(linker, "/EXPORT:LZInit=kernel32.LZInit")
#pragma comment(linker, "/EXPORT:LZOpenFileA=kernel32.LZOpenFileA")
#pragma comment(linker, "/EXPORT:LZOpenFileW=kernel32.LZOpenFileW")
#pragma comment(linker, "/EXPORT:LZRead=kernel32.LZRead")
#pragma comment(linker, "/EXPORT:LZSeek=kernel32.LZSeek")
#pragma comment(linker, "/EXPORT:LZStart=kernel32.LZStart")
#pragma comment(linker, "/EXPORT:LeaveCriticalSection=kernel32.LeaveCriticalSection")
#pragma comment(linker, "/EXPORT:LeaveCriticalSectionWhenCallbackReturns=kernel32.LeaveCriticalSectionWhenCallbackReturns")
#pragma comment(linker, "/EXPORT:LoadAppInitDlls=kernel32.LoadAppInitDlls")
//#pragma comment(linker, "/EXPORT:LoadLibraryA=kernel32.LoadLibraryA")
//#pragma comment(linker, "/EXPORT:LoadLibraryExA=kernel32.LoadLibraryExA")
//#pragma comment(linker, "/EXPORT:LoadLibraryExW=kernel32.LoadLibraryExW")
//#pragma comment(linker, "/EXPORT:LoadLibraryW=kernel32.LoadLibraryW")
#pragma comment(linker, "/EXPORT:LoadModule=kernel32.LoadModule")
#pragma comment(linker, "/EXPORT:LoadResource=kernel32.LoadResource")
#pragma comment(linker, "/EXPORT:LoadStringBaseExW=kernel32.LoadStringBaseExW")
#pragma comment(linker, "/EXPORT:LoadStringBaseW=kernel32.LoadStringBaseW")
#pragma comment(linker, "/EXPORT:LocalAlloc=kernel32.LocalAlloc")
#pragma comment(linker, "/EXPORT:LocalCompact=kernel32.LocalCompact")
#pragma comment(linker, "/EXPORT:LocalFileTimeToFileTime=kernel32.LocalFileTimeToFileTime")
#pragma comment(linker, "/EXPORT:LocalFlags=kernel32.LocalFlags")
#pragma comment(linker, "/EXPORT:LocalFree=kernel32.LocalFree")
#pragma comment(linker, "/EXPORT:LocalHandle=kernel32.LocalHandle")
#pragma comment(linker, "/EXPORT:LocalLock=kernel32.LocalLock")
#pragma comment(linker, "/EXPORT:LocalReAlloc=kernel32.LocalReAlloc")
#pragma comment(linker, "/EXPORT:LocalShrink=kernel32.LocalShrink")
#pragma comment(linker, "/EXPORT:LocalSize=kernel32.LocalSize")
#pragma comment(linker, "/EXPORT:LocalUnlock=kernel32.LocalUnlock")
#pragma comment(linker, "/EXPORT:LocaleNameToLCID=kernel32.LocaleNameToLCID")
#pragma comment(linker, "/EXPORT:LocateXStateFeature=kernel32.LocateXStateFeature")
#pragma comment(linker, "/EXPORT:LockFile=kernel32.LockFile")
#pragma comment(linker, "/EXPORT:LockFileEx=kernel32.LockFileEx")
#pragma comment(linker, "/EXPORT:LockResource=kernel32.LockResource")
#pragma comment(linker, "/EXPORT:MapUserPhysicalPages=kernel32.MapUserPhysicalPages")
#pragma comment(linker, "/EXPORT:MapUserPhysicalPagesScatter=kernel32.MapUserPhysicalPagesScatter")
#pragma comment(linker, "/EXPORT:MapViewOfFile=kernel32.MapViewOfFile")
#pragma comment(linker, "/EXPORT:MapViewOfFileEx=kernel32.MapViewOfFileEx")
#pragma comment(linker, "/EXPORT:MapViewOfFileExNuma=kernel32.MapViewOfFileExNuma")
#pragma comment(linker, "/EXPORT:Module32First=kernel32.Module32First")
#pragma comment(linker, "/EXPORT:Module32FirstW=kernel32.Module32FirstW")
#pragma comment(linker, "/EXPORT:Module32Next=kernel32.Module32Next")
#pragma comment(linker, "/EXPORT:Module32NextW=kernel32.Module32NextW")
#pragma comment(linker, "/EXPORT:MoveFileA=kernel32.MoveFileA")
#pragma comment(linker, "/EXPORT:MoveFileExA=kernel32.MoveFileExA")
#pragma comment(linker, "/EXPORT:MoveFileExW=kernel32.MoveFileExW")
#pragma comment(linker, "/EXPORT:MoveFileTransactedA=kernel32.MoveFileTransactedA")
#pragma comment(linker, "/EXPORT:MoveFileTransactedW=kernel32.MoveFileTransactedW")
#pragma comment(linker, "/EXPORT:MoveFileW=kernel32.MoveFileW")
#pragma comment(linker, "/EXPORT:MoveFileWithProgressA=kernel32.MoveFileWithProgressA")
#pragma comment(linker, "/EXPORT:MoveFileWithProgressW=kernel32.MoveFileWithProgressW")
#pragma comment(linker, "/EXPORT:MulDiv=kernel32.MulDiv")
#pragma comment(linker, "/EXPORT:MultiByteToWideChar=kernel32.MultiByteToWideChar")
#pragma comment(linker, "/EXPORT:NeedCurrentDirectoryForExePathA=kernel32.NeedCurrentDirectoryForExePathA")
#pragma comment(linker, "/EXPORT:NeedCurrentDirectoryForExePathW=kernel32.NeedCurrentDirectoryForExePathW")
#pragma comment(linker, "/EXPORT:NlsCheckPolicy=kernel32.NlsCheckPolicy")
#pragma comment(linker, "/EXPORT:NlsEventDataDescCreate=kernel32.NlsEventDataDescCreate")
#pragma comment(linker, "/EXPORT:NlsGetCacheUpdateCount=kernel32.NlsGetCacheUpdateCount")
#pragma comment(linker, "/EXPORT:NlsUpdateLocale=kernel32.NlsUpdateLocale")
#pragma comment(linker, "/EXPORT:NlsUpdateSystemLocale=kernel32.NlsUpdateSystemLocale")
#pragma comment(linker, "/EXPORT:NlsWriteEtwEvent=kernel32.NlsWriteEtwEvent")
#pragma comment(linker, "/EXPORT:NormalizeString=kernel32.NormalizeString")
#pragma comment(linker, "/EXPORT:NotifyMountMgr=kernel32.NotifyMountMgr")
#pragma comment(linker, "/EXPORT:NotifyUILanguageChange=kernel32.NotifyUILanguageChange")
#pragma comment(linker, "/EXPORT:OpenConsoleW=kernel32.OpenConsoleW")
#pragma comment(linker, "/EXPORT:OpenEventA=kernel32.OpenEventA")
#pragma comment(linker, "/EXPORT:OpenEventW=kernel32.OpenEventW")
#pragma comment(linker, "/EXPORT:OpenFile=kernel32.OpenFile")
#pragma comment(linker, "/EXPORT:OpenFileById=kernel32.OpenFileById")
#pragma comment(linker, "/EXPORT:OpenFileMappingA=kernel32.OpenFileMappingA")
#pragma comment(linker, "/EXPORT:OpenFileMappingW=kernel32.OpenFileMappingW")
#pragma comment(linker, "/EXPORT:OpenJobObjectA=kernel32.OpenJobObjectA")
#pragma comment(linker, "/EXPORT:OpenJobObjectW=kernel32.OpenJobObjectW")
#pragma comment(linker, "/EXPORT:OpenMutexA=kernel32.OpenMutexA")
#pragma comment(linker, "/EXPORT:OpenMutexW=kernel32.OpenMutexW")
#pragma comment(linker, "/EXPORT:OpenPrivateNamespaceA=kernel32.OpenPrivateNamespaceA")
#pragma comment(linker, "/EXPORT:OpenPrivateNamespaceW=kernel32.OpenPrivateNamespaceW")
#pragma comment(linker, "/EXPORT:OpenProcess=kernel32.OpenProcess")
#pragma comment(linker, "/EXPORT:OpenProcessToken=kernel32.OpenProcessToken")
#pragma comment(linker, "/EXPORT:OpenProfileUserMapping=kernel32.OpenProfileUserMapping")
#pragma comment(linker, "/EXPORT:OpenSemaphoreA=kernel32.OpenSemaphoreA")
#pragma comment(linker, "/EXPORT:OpenSemaphoreW=kernel32.OpenSemaphoreW")
#pragma comment(linker, "/EXPORT:OpenThread=kernel32.OpenThread")
#pragma comment(linker, "/EXPORT:OpenThreadToken=kernel32.OpenThreadToken")
#pragma comment(linker, "/EXPORT:OpenWaitableTimerA=kernel32.OpenWaitableTimerA")
#pragma comment(linker, "/EXPORT:OpenWaitableTimerW=kernel32.OpenWaitableTimerW")
#pragma comment(linker, "/EXPORT:OutputDebugStringA=kernel32.OutputDebugStringA")
#pragma comment(linker, "/EXPORT:OutputDebugStringW=kernel32.OutputDebugStringW")
#pragma comment(linker, "/EXPORT:PeekConsoleInputA=kernel32.PeekConsoleInputA")
#pragma comment(linker, "/EXPORT:PeekConsoleInputW=kernel32.PeekConsoleInputW")
#pragma comment(linker, "/EXPORT:PeekNamedPipe=kernel32.PeekNamedPipe")
#pragma comment(linker, "/EXPORT:PostQueuedCompletionStatus=kernel32.PostQueuedCompletionStatus")
#pragma comment(linker, "/EXPORT:PowerClearRequest=kernel32.PowerClearRequest")
#pragma comment(linker, "/EXPORT:PowerCreateRequest=kernel32.PowerCreateRequest")
#pragma comment(linker, "/EXPORT:PowerSetRequest=kernel32.PowerSetRequest")
#pragma comment(linker, "/EXPORT:PrepareTape=kernel32.PrepareTape")
#pragma comment(linker, "/EXPORT:PrivCopyFileExW=kernel32.PrivCopyFileExW")
#pragma comment(linker, "/EXPORT:PrivMoveFileIdentityW=kernel32.PrivMoveFileIdentityW")
#pragma comment(linker, "/EXPORT:Process32First=kernel32.Process32First")
#pragma comment(linker, "/EXPORT:Process32FirstW=kernel32.Process32FirstW")
#pragma comment(linker, "/EXPORT:Process32Next=kernel32.Process32Next")
#pragma comment(linker, "/EXPORT:Process32NextW=kernel32.Process32NextW")
#pragma comment(linker, "/EXPORT:ProcessIdToSessionId=kernel32.ProcessIdToSessionId")
#pragma comment(linker, "/EXPORT:PulseEvent=kernel32.PulseEvent")
#pragma comment(linker, "/EXPORT:PurgeComm=kernel32.PurgeComm")
#pragma comment(linker, "/EXPORT:QueryActCtxSettingsW=kernel32.QueryActCtxSettingsW")
#pragma comment(linker, "/EXPORT:QueryActCtxW=kernel32.QueryActCtxW")
#pragma comment(linker, "/EXPORT:QueryDepthSList=kernel32.QueryDepthSList")
#pragma comment(linker, "/EXPORT:QueryDosDeviceA=kernel32.QueryDosDeviceA")
#pragma comment(linker, "/EXPORT:QueryDosDeviceW=kernel32.QueryDosDeviceW")
#pragma comment(linker, "/EXPORT:QueryFullProcessImageNameA=kernel32.QueryFullProcessImageNameA")
#pragma comment(linker, "/EXPORT:QueryFullProcessImageNameW=kernel32.QueryFullProcessImageNameW")
#pragma comment(linker, "/EXPORT:QueryIdleProcessorCycleTime=kernel32.QueryIdleProcessorCycleTime")
#pragma comment(linker, "/EXPORT:QueryIdleProcessorCycleTimeEx=kernel32.QueryIdleProcessorCycleTimeEx")
#pragma comment(linker, "/EXPORT:QueryInformationJobObject=kernel32.QueryInformationJobObject")
#pragma comment(linker, "/EXPORT:QueryMemoryResourceNotification=kernel32.QueryMemoryResourceNotification")
#pragma comment(linker, "/EXPORT:QueryPerformanceCounter=kernel32.QueryPerformanceCounter")
#pragma comment(linker, "/EXPORT:QueryPerformanceFrequency=kernel32.QueryPerformanceFrequency")
#pragma comment(linker, "/EXPORT:QueryProcessAffinityUpdateMode=kernel32.QueryProcessAffinityUpdateMode")
#pragma comment(linker, "/EXPORT:QueryProcessCycleTime=kernel32.QueryProcessCycleTime")
#pragma comment(linker, "/EXPORT:QueryThreadCycleTime=kernel32.QueryThreadCycleTime")
#pragma comment(linker, "/EXPORT:QueryThreadProfiling=kernel32.QueryThreadProfiling")
#pragma comment(linker, "/EXPORT:QueryThreadpoolStackInformation=kernel32.QueryThreadpoolStackInformation")
#pragma comment(linker, "/EXPORT:QueryUnbiasedInterruptTime=kernel32.QueryUnbiasedInterruptTime")
#pragma comment(linker, "/EXPORT:QueueUserAPC=kernel32.QueueUserAPC")
#pragma comment(linker, "/EXPORT:QueueUserWorkItem=kernel32.QueueUserWorkItem")
#pragma comment(linker, "/EXPORT:RaiseException=kernel32.RaiseException")
#pragma comment(linker, "/EXPORT:RaiseFailFastException=kernel32.RaiseFailFastException")
#pragma comment(linker, "/EXPORT:ReOpenFile=kernel32.ReOpenFile")
#pragma comment(linker, "/EXPORT:ReadConsoleA=kernel32.ReadConsoleA")
#pragma comment(linker, "/EXPORT:ReadConsoleInputA=kernel32.ReadConsoleInputA")
#pragma comment(linker, "/EXPORT:ReadConsoleInputExA=kernel32.ReadConsoleInputExA")
#pragma comment(linker, "/EXPORT:ReadConsoleInputExW=kernel32.ReadConsoleInputExW")
#pragma comment(linker, "/EXPORT:ReadConsoleInputW=kernel32.ReadConsoleInputW")
#pragma comment(linker, "/EXPORT:ReadConsoleOutputA=kernel32.ReadConsoleOutputA")
#pragma comment(linker, "/EXPORT:ReadConsoleOutputAttribute=kernel32.ReadConsoleOutputAttribute")
#pragma comment(linker, "/EXPORT:ReadConsoleOutputCharacterA=kernel32.ReadConsoleOutputCharacterA")
#pragma comment(linker, "/EXPORT:ReadConsoleOutputCharacterW=kernel32.ReadConsoleOutputCharacterW")
#pragma comment(linker, "/EXPORT:ReadConsoleOutputW=kernel32.ReadConsoleOutputW")
#pragma comment(linker, "/EXPORT:ReadConsoleW=kernel32.ReadConsoleW")
#pragma comment(linker, "/EXPORT:ReadDirectoryChangesW=kernel32.ReadDirectoryChangesW")
#pragma comment(linker, "/EXPORT:ReadFile=kernel32.ReadFile")
#pragma comment(linker, "/EXPORT:ReadFileEx=kernel32.ReadFileEx")
#pragma comment(linker, "/EXPORT:ReadFileScatter=kernel32.ReadFileScatter")
#pragma comment(linker, "/EXPORT:ReadProcessMemory=kernel32.ReadProcessMemory")
#pragma comment(linker, "/EXPORT:ReadThreadProfilingData=kernel32.ReadThreadProfilingData")
#pragma comment(linker, "/EXPORT:RegCloseKey=kernel32.RegCloseKey")
#pragma comment(linker, "/EXPORT:RegCreateKeyExA=kernel32.RegCreateKeyExA")
#pragma comment(linker, "/EXPORT:RegCreateKeyExW=kernel32.RegCreateKeyExW")
#pragma comment(linker, "/EXPORT:RegDeleteKeyExA=kernel32.RegDeleteKeyExA")
#pragma comment(linker, "/EXPORT:RegDeleteKeyExW=kernel32.RegDeleteKeyExW")
#pragma comment(linker, "/EXPORT:RegDeleteTreeA=kernel32.RegDeleteTreeA")
#pragma comment(linker, "/EXPORT:RegDeleteTreeW=kernel32.RegDeleteTreeW")
#pragma comment(linker, "/EXPORT:RegDeleteValueA=kernel32.RegDeleteValueA")
#pragma comment(linker, "/EXPORT:RegDeleteValueW=kernel32.RegDeleteValueW")
#pragma comment(linker, "/EXPORT:RegDisablePredefinedCacheEx=kernel32.RegDisablePredefinedCacheEx")
#pragma comment(linker, "/EXPORT:RegEnumKeyExA=kernel32.RegEnumKeyExA")
#pragma comment(linker, "/EXPORT:RegEnumKeyExW=kernel32.RegEnumKeyExW")
#pragma comment(linker, "/EXPORT:RegEnumValueA=kernel32.RegEnumValueA")
#pragma comment(linker, "/EXPORT:RegEnumValueW=kernel32.RegEnumValueW")
#pragma comment(linker, "/EXPORT:RegFlushKey=kernel32.RegFlushKey")
#pragma comment(linker, "/EXPORT:RegGetKeySecurity=kernel32.RegGetKeySecurity")
#pragma comment(linker, "/EXPORT:RegGetValueA=kernel32.RegGetValueA")
#pragma comment(linker, "/EXPORT:RegGetValueW=kernel32.RegGetValueW")
#pragma comment(linker, "/EXPORT:RegKrnGetGlobalState=kernel32.RegKrnGetGlobalState")
#pragma comment(linker, "/EXPORT:RegKrnInitialize=kernel32.RegKrnInitialize")
#pragma comment(linker, "/EXPORT:RegLoadKeyA=kernel32.RegLoadKeyA")
#pragma comment(linker, "/EXPORT:RegLoadKeyW=kernel32.RegLoadKeyW")
#pragma comment(linker, "/EXPORT:RegLoadMUIStringA=kernel32.RegLoadMUIStringA")
#pragma comment(linker, "/EXPORT:RegLoadMUIStringW=kernel32.RegLoadMUIStringW")
#pragma comment(linker, "/EXPORT:RegNotifyChangeKeyValue=kernel32.RegNotifyChangeKeyValue")
#pragma comment(linker, "/EXPORT:RegOpenCurrentUser=kernel32.RegOpenCurrentUser")
#pragma comment(linker, "/EXPORT:RegOpenKeyExA=kernel32.RegOpenKeyExA")
#pragma comment(linker, "/EXPORT:RegOpenKeyExW=kernel32.RegOpenKeyExW")
#pragma comment(linker, "/EXPORT:RegOpenUserClassesRoot=kernel32.RegOpenUserClassesRoot")
#pragma comment(linker, "/EXPORT:RegQueryInfoKeyA=kernel32.RegQueryInfoKeyA")
#pragma comment(linker, "/EXPORT:RegQueryInfoKeyW=kernel32.RegQueryInfoKeyW")
#pragma comment(linker, "/EXPORT:RegQueryValueExA=kernel32.RegQueryValueExA")
#pragma comment(linker, "/EXPORT:RegQueryValueExW=kernel32.RegQueryValueExW")
#pragma comment(linker, "/EXPORT:RegRestoreKeyA=kernel32.RegRestoreKeyA")
#pragma comment(linker, "/EXPORT:RegRestoreKeyW=kernel32.RegRestoreKeyW")
#pragma comment(linker, "/EXPORT:RegSaveKeyExA=kernel32.RegSaveKeyExA")
#pragma comment(linker, "/EXPORT:RegSaveKeyExW=kernel32.RegSaveKeyExW")
#pragma comment(linker, "/EXPORT:RegSetKeySecurity=kernel32.RegSetKeySecurity")
#pragma comment(linker, "/EXPORT:RegSetValueExA=kernel32.RegSetValueExA")
#pragma comment(linker, "/EXPORT:RegSetValueExW=kernel32.RegSetValueExW")
#pragma comment(linker, "/EXPORT:RegUnLoadKeyA=kernel32.RegUnLoadKeyA")
#pragma comment(linker, "/EXPORT:RegUnLoadKeyW=kernel32.RegUnLoadKeyW")
#pragma comment(linker, "/EXPORT:RegisterApplicationRecoveryCallback=kernel32.RegisterApplicationRecoveryCallback")
#pragma comment(linker, "/EXPORT:RegisterApplicationRestart=kernel32.RegisterApplicationRestart")
#pragma comment(linker, "/EXPORT:RegisterConsoleIME=kernel32.RegisterConsoleIME")
#pragma comment(linker, "/EXPORT:RegisterConsoleOS2=kernel32.RegisterConsoleOS2")
#pragma comment(linker, "/EXPORT:RegisterConsoleVDM=kernel32.RegisterConsoleVDM")
#pragma comment(linker, "/EXPORT:RegisterWaitForInputIdle=kernel32.RegisterWaitForInputIdle")
#pragma comment(linker, "/EXPORT:RegisterWaitForSingleObject=kernel32.RegisterWaitForSingleObject")
#pragma comment(linker, "/EXPORT:RegisterWaitForSingleObjectEx=kernel32.RegisterWaitForSingleObjectEx")
#pragma comment(linker, "/EXPORT:RegisterWowBaseHandlers=kernel32.RegisterWowBaseHandlers")
#pragma comment(linker, "/EXPORT:RegisterWowExec=kernel32.RegisterWowExec")
#pragma comment(linker, "/EXPORT:ReleaseActCtx=kernel32.ReleaseActCtx")
#pragma comment(linker, "/EXPORT:ReleaseMutex=kernel32.ReleaseMutex")
#pragma comment(linker, "/EXPORT:ReleaseMutexWhenCallbackReturns=kernel32.ReleaseMutexWhenCallbackReturns")
#pragma comment(linker, "/EXPORT:ReleaseSRWLockExclusive=kernel32.ReleaseSRWLockExclusive")
#pragma comment(linker, "/EXPORT:ReleaseSRWLockShared=kernel32.ReleaseSRWLockShared")
#pragma comment(linker, "/EXPORT:ReleaseSemaphore=kernel32.ReleaseSemaphore")
#pragma comment(linker, "/EXPORT:ReleaseSemaphoreWhenCallbackReturns=kernel32.ReleaseSemaphoreWhenCallbackReturns")
#pragma comment(linker, "/EXPORT:RemoveDirectoryA=kernel32.RemoveDirectoryA")
#pragma comment(linker, "/EXPORT:RemoveDirectoryTransactedA=kernel32.RemoveDirectoryTransactedA")
#pragma comment(linker, "/EXPORT:RemoveDirectoryTransactedW=kernel32.RemoveDirectoryTransactedW")
#pragma comment(linker, "/EXPORT:RemoveDirectoryW=kernel32.RemoveDirectoryW")
//#pragma comment(linker, "/EXPORT:RemoveDllDirectory=kernel32.RemoveDllDirectory")
#pragma comment(linker, "/EXPORT:RemoveLocalAlternateComputerNameA=kernel32.RemoveLocalAlternateComputerNameA")
#pragma comment(linker, "/EXPORT:RemoveLocalAlternateComputerNameW=kernel32.RemoveLocalAlternateComputerNameW")
#pragma comment(linker, "/EXPORT:RemoveSecureMemoryCacheCallback=kernel32.RemoveSecureMemoryCacheCallback")
#pragma comment(linker, "/EXPORT:RemoveVectoredContinueHandler=kernel32.RemoveVectoredContinueHandler")
#pragma comment(linker, "/EXPORT:RemoveVectoredExceptionHandler=kernel32.RemoveVectoredExceptionHandler")
#pragma comment(linker, "/EXPORT:ReplaceFile=kernel32.ReplaceFile")
#pragma comment(linker, "/EXPORT:ReplaceFileA=kernel32.ReplaceFileA")
#pragma comment(linker, "/EXPORT:ReplaceFileW=kernel32.ReplaceFileW")
#pragma comment(linker, "/EXPORT:ReplacePartitionUnit=kernel32.ReplacePartitionUnit")
#pragma comment(linker, "/EXPORT:RequestDeviceWakeup=kernel32.RequestDeviceWakeup")
#pragma comment(linker, "/EXPORT:RequestWakeupLatency=kernel32.RequestWakeupLatency")
#pragma comment(linker, "/EXPORT:ResetEvent=kernel32.ResetEvent")
#pragma comment(linker, "/EXPORT:ResetWriteWatch=kernel32.ResetWriteWatch")
#pragma comment(linker, "/EXPORT:ResolveLocaleName=kernel32.ResolveLocaleName")
#pragma comment(linker, "/EXPORT:RestoreLastError=kernel32.RestoreLastError")
#pragma comment(linker, "/EXPORT:ResumeThread=kernel32.ResumeThread")
#pragma comment(linker, "/EXPORT:RtlCaptureContext=kernel32.RtlCaptureContext")
#pragma comment(linker, "/EXPORT:RtlCaptureStackBackTrace=kernel32.RtlCaptureStackBackTrace")
#pragma comment(linker, "/EXPORT:RtlFillMemory=kernel32.RtlFillMemory")
#pragma comment(linker, "/EXPORT:RtlMoveMemory=kernel32.RtlMoveMemory")
#pragma comment(linker, "/EXPORT:RtlUnwind=kernel32.RtlUnwind")
#pragma comment(linker, "/EXPORT:RtlZeroMemory=kernel32.RtlZeroMemory")
#pragma comment(linker, "/EXPORT:ScrollConsoleScreenBufferA=kernel32.ScrollConsoleScreenBufferA")
#pragma comment(linker, "/EXPORT:ScrollConsoleScreenBufferW=kernel32.ScrollConsoleScreenBufferW")
#pragma comment(linker, "/EXPORT:SearchPathA=kernel32.SearchPathA")
#pragma comment(linker, "/EXPORT:SearchPathW=kernel32.SearchPathW")
#pragma comment(linker, "/EXPORT:SetCalendarInfoA=kernel32.SetCalendarInfoA")
#pragma comment(linker, "/EXPORT:SetCalendarInfoW=kernel32.SetCalendarInfoW")
#pragma comment(linker, "/EXPORT:SetClientDynamicTimeZoneInformation=kernel32.SetClientDynamicTimeZoneInformation")
#pragma comment(linker, "/EXPORT:SetClientTimeZoneInformation=kernel32.SetClientTimeZoneInformation")
#pragma comment(linker, "/EXPORT:SetComPlusPackageInstallStatus=kernel32.SetComPlusPackageInstallStatus")
#pragma comment(linker, "/EXPORT:SetCommBreak=kernel32.SetCommBreak")
#pragma comment(linker, "/EXPORT:SetCommConfig=kernel32.SetCommConfig")
#pragma comment(linker, "/EXPORT:SetCommMask=kernel32.SetCommMask")
#pragma comment(linker, "/EXPORT:SetCommState=kernel32.SetCommState")
#pragma comment(linker, "/EXPORT:SetCommTimeouts=kernel32.SetCommTimeouts")
#pragma comment(linker, "/EXPORT:SetComputerNameA=kernel32.SetComputerNameA")
#pragma comment(linker, "/EXPORT:SetComputerNameExA=kernel32.SetComputerNameExA")
#pragma comment(linker, "/EXPORT:SetComputerNameExW=kernel32.SetComputerNameExW")
#pragma comment(linker, "/EXPORT:SetComputerNameW=kernel32.SetComputerNameW")
#pragma comment(linker, "/EXPORT:SetConsoleActiveScreenBuffer=kernel32.SetConsoleActiveScreenBuffer")
#pragma comment(linker, "/EXPORT:SetConsoleCP=kernel32.SetConsoleCP")
#pragma comment(linker, "/EXPORT:SetConsoleCtrlHandler=kernel32.SetConsoleCtrlHandler")
#pragma comment(linker, "/EXPORT:SetConsoleCursor=kernel32.SetConsoleCursor")
#pragma comment(linker, "/EXPORT:SetConsoleCursorInfo=kernel32.SetConsoleCursorInfo")
#pragma comment(linker, "/EXPORT:SetConsoleCursorMode=kernel32.SetConsoleCursorMode")
#pragma comment(linker, "/EXPORT:SetConsoleCursorPosition=kernel32.SetConsoleCursorPosition")
#pragma comment(linker, "/EXPORT:SetConsoleDisplayMode=kernel32.SetConsoleDisplayMode")
#pragma comment(linker, "/EXPORT:SetConsoleFont=kernel32.SetConsoleFont")
#pragma comment(linker, "/EXPORT:SetConsoleHardwareState=kernel32.SetConsoleHardwareState")
#pragma comment(linker, "/EXPORT:SetConsoleHistoryInfo=kernel32.SetConsoleHistoryInfo")
#pragma comment(linker, "/EXPORT:SetConsoleIcon=kernel32.SetConsoleIcon")
#pragma comment(linker, "/EXPORT:SetConsoleInputExeNameA=kernel32.SetConsoleInputExeNameA")
#pragma comment(linker, "/EXPORT:SetConsoleInputExeNameW=kernel32.SetConsoleInputExeNameW")
#pragma comment(linker, "/EXPORT:SetConsoleKeyShortcuts=kernel32.SetConsoleKeyShortcuts")
#pragma comment(linker, "/EXPORT:SetConsoleLocalEUDC=kernel32.SetConsoleLocalEUDC")
#pragma comment(linker, "/EXPORT:SetConsoleMaximumWindowSize=kernel32.SetConsoleMaximumWindowSize")
#pragma comment(linker, "/EXPORT:SetConsoleMenuClose=kernel32.SetConsoleMenuClose")
#pragma comment(linker, "/EXPORT:SetConsoleMode=kernel32.SetConsoleMode")
#pragma comment(linker, "/EXPORT:SetConsoleNlsMode=kernel32.SetConsoleNlsMode")
#pragma comment(linker, "/EXPORT:SetConsoleNumberOfCommandsA=kernel32.SetConsoleNumberOfCommandsA")
#pragma comment(linker, "/EXPORT:SetConsoleNumberOfCommandsW=kernel32.SetConsoleNumberOfCommandsW")
#pragma comment(linker, "/EXPORT:SetConsoleOS2OemFormat=kernel32.SetConsoleOS2OemFormat")
#pragma comment(linker, "/EXPORT:SetConsoleOutputCP=kernel32.SetConsoleOutputCP")
#pragma comment(linker, "/EXPORT:SetConsolePalette=kernel32.SetConsolePalette")
#pragma comment(linker, "/EXPORT:SetConsoleScreenBufferInfoEx=kernel32.SetConsoleScreenBufferInfoEx")
#pragma comment(linker, "/EXPORT:SetConsoleScreenBufferSize=kernel32.SetConsoleScreenBufferSize")
#pragma comment(linker, "/EXPORT:SetConsoleTextAttribute=kernel32.SetConsoleTextAttribute")
#pragma comment(linker, "/EXPORT:SetConsoleTitleA=kernel32.SetConsoleTitleA")
#pragma comment(linker, "/EXPORT:SetConsoleTitleW=kernel32.SetConsoleTitleW")
#pragma comment(linker, "/EXPORT:SetConsoleWindowInfo=kernel32.SetConsoleWindowInfo")
#pragma comment(linker, "/EXPORT:SetCriticalSectionSpinCount=kernel32.SetCriticalSectionSpinCount")
#pragma comment(linker, "/EXPORT:SetCurrentConsoleFontEx=kernel32.SetCurrentConsoleFontEx")
#pragma comment(linker, "/EXPORT:SetCurrentDirectoryA=kernel32.SetCurrentDirectoryA")
#pragma comment(linker, "/EXPORT:SetCurrentDirectoryW=kernel32.SetCurrentDirectoryW")
#pragma comment(linker, "/EXPORT:SetDefaultCommConfigA=kernel32.SetDefaultCommConfigA")
#pragma comment(linker, "/EXPORT:SetDefaultCommConfigW=kernel32.SetDefaultCommConfigW")
//#pragma comment(linker, "/EXPORT:SetDefaultDllDirectories=kernel32.SetDefaultDllDirectories")
#pragma comment(linker, "/EXPORT:SetDllDirectoryA=kernel32.SetDllDirectoryA")
#pragma comment(linker, "/EXPORT:SetDllDirectoryW=kernel32.SetDllDirectoryW")
#pragma comment(linker, "/EXPORT:SetDynamicTimeZoneInformation=kernel32.SetDynamicTimeZoneInformation")
#pragma comment(linker, "/EXPORT:SetEndOfFile=kernel32.SetEndOfFile")
#pragma comment(linker, "/EXPORT:SetEnvironmentStringsA=kernel32.SetEnvironmentStringsA")
#pragma comment(linker, "/EXPORT:SetEnvironmentStringsW=kernel32.SetEnvironmentStringsW")
#pragma comment(linker, "/EXPORT:SetEnvironmentVariableA=kernel32.SetEnvironmentVariableA")
#pragma comment(linker, "/EXPORT:SetEnvironmentVariableW=kernel32.SetEnvironmentVariableW")
#pragma comment(linker, "/EXPORT:SetErrorMode=kernel32.SetErrorMode")
#pragma comment(linker, "/EXPORT:SetEvent=kernel32.SetEvent")
#pragma comment(linker, "/EXPORT:SetEventWhenCallbackReturns=kernel32.SetEventWhenCallbackReturns")
#pragma comment(linker, "/EXPORT:SetFileApisToANSI=kernel32.SetFileApisToANSI")
#pragma comment(linker, "/EXPORT:SetFileApisToOEM=kernel32.SetFileApisToOEM")
#pragma comment(linker, "/EXPORT:SetFileAttributesA=kernel32.SetFileAttributesA")
#pragma comment(linker, "/EXPORT:SetFileAttributesTransactedA=kernel32.SetFileAttributesTransactedA")
#pragma comment(linker, "/EXPORT:SetFileAttributesTransactedW=kernel32.SetFileAttributesTransactedW")
#pragma comment(linker, "/EXPORT:SetFileAttributesW=kernel32.SetFileAttributesW")
#pragma comment(linker, "/EXPORT:SetFileBandwidthReservation=kernel32.SetFileBandwidthReservation")
#pragma comment(linker, "/EXPORT:SetFileCompletionNotificationModes=kernel32.SetFileCompletionNotificationModes")
#pragma comment(linker, "/EXPORT:SetFileInformationByHandle=kernel32.SetFileInformationByHandle")
#pragma comment(linker, "/EXPORT:SetFileIoOverlappedRange=kernel32.SetFileIoOverlappedRange")
#pragma comment(linker, "/EXPORT:SetFilePointer=kernel32.SetFilePointer")
#pragma comment(linker, "/EXPORT:SetFilePointerEx=kernel32.SetFilePointerEx")
#pragma comment(linker, "/EXPORT:SetFileShortNameA=kernel32.SetFileShortNameA")
#pragma comment(linker, "/EXPORT:SetFileShortNameW=kernel32.SetFileShortNameW")
#pragma comment(linker, "/EXPORT:SetFileTime=kernel32.SetFileTime")
#pragma comment(linker, "/EXPORT:SetFileValidData=kernel32.SetFileValidData")
#pragma comment(linker, "/EXPORT:SetFirmwareEnvironmentVariableA=kernel32.SetFirmwareEnvironmentVariableA")
#pragma comment(linker, "/EXPORT:SetFirmwareEnvironmentVariableW=kernel32.SetFirmwareEnvironmentVariableW")
#pragma comment(linker, "/EXPORT:SetHandleCount=kernel32.SetHandleCount")
#pragma comment(linker, "/EXPORT:SetHandleInformation=kernel32.SetHandleInformation")
#pragma comment(linker, "/EXPORT:SetInformationJobObject=kernel32.SetInformationJobObject")
#pragma comment(linker, "/EXPORT:SetLastConsoleEventActive=kernel32.SetLastConsoleEventActive")
#pragma comment(linker, "/EXPORT:SetLastError=kernel32.SetLastError")
#pragma comment(linker, "/EXPORT:SetLocalPrimaryComputerNameA=kernel32.SetLocalPrimaryComputerNameA")
#pragma comment(linker, "/EXPORT:SetLocalPrimaryComputerNameW=kernel32.SetLocalPrimaryComputerNameW")
#pragma comment(linker, "/EXPORT:SetLocalTime=kernel32.SetLocalTime")
#pragma comment(linker, "/EXPORT:SetLocaleInfoA=kernel32.SetLocaleInfoA")
#pragma comment(linker, "/EXPORT:SetLocaleInfoW=kernel32.SetLocaleInfoW")
#pragma comment(linker, "/EXPORT:SetMailslotInfo=kernel32.SetMailslotInfo")
#pragma comment(linker, "/EXPORT:SetMessageWaitingIndicator=kernel32.SetMessageWaitingIndicator")
#pragma comment(linker, "/EXPORT:SetNamedPipeAttribute=kernel32.SetNamedPipeAttribute")
#pragma comment(linker, "/EXPORT:SetNamedPipeHandleState=kernel32.SetNamedPipeHandleState")
#pragma comment(linker, "/EXPORT:SetPriorityClass=kernel32.SetPriorityClass")
#pragma comment(linker, "/EXPORT:SetProcessAffinityMask=kernel32.SetProcessAffinityMask")
#pragma comment(linker, "/EXPORT:SetProcessAffinityUpdateMode=kernel32.SetProcessAffinityUpdateMode")
#pragma comment(linker, "/EXPORT:SetProcessDEPPolicy=kernel32.SetProcessDEPPolicy")
#pragma comment(linker, "/EXPORT:SetProcessPreferredUILanguages=kernel32.SetProcessPreferredUILanguages")
#pragma comment(linker, "/EXPORT:SetProcessPriorityBoost=kernel32.SetProcessPriorityBoost")
#pragma comment(linker, "/EXPORT:SetProcessShutdownParameters=kernel32.SetProcessShutdownParameters")
#pragma comment(linker, "/EXPORT:SetProcessUserModeExceptionPolicy=kernel32.SetProcessUserModeExceptionPolicy")
#pragma comment(linker, "/EXPORT:SetProcessWorkingSetSize=kernel32.SetProcessWorkingSetSize")
#pragma comment(linker, "/EXPORT:SetProcessWorkingSetSizeEx=kernel32.SetProcessWorkingSetSizeEx")
#pragma comment(linker, "/EXPORT:SetSearchPathMode=kernel32.SetSearchPathMode")
#pragma comment(linker, "/EXPORT:SetStdHandle=kernel32.SetStdHandle")
#pragma comment(linker, "/EXPORT:SetStdHandleEx=kernel32.SetStdHandleEx")
#pragma comment(linker, "/EXPORT:SetSystemFileCacheSize=kernel32.SetSystemFileCacheSize")
#pragma comment(linker, "/EXPORT:SetSystemPowerState=kernel32.SetSystemPowerState")
#pragma comment(linker, "/EXPORT:SetSystemTime=kernel32.SetSystemTime")
#pragma comment(linker, "/EXPORT:SetSystemTimeAdjustment=kernel32.SetSystemTimeAdjustment")
#pragma comment(linker, "/EXPORT:SetTapeParameters=kernel32.SetTapeParameters")
#pragma comment(linker, "/EXPORT:SetTapePosition=kernel32.SetTapePosition")
#pragma comment(linker, "/EXPORT:SetTermsrvAppInstallMode=kernel32.SetTermsrvAppInstallMode")
#pragma comment(linker, "/EXPORT:SetThreadAffinityMask=kernel32.SetThreadAffinityMask")
#pragma comment(linker, "/EXPORT:SetThreadContext=kernel32.SetThreadContext")
#pragma comment(linker, "/EXPORT:SetThreadErrorMode=kernel32.SetThreadErrorMode")
#pragma comment(linker, "/EXPORT:SetThreadExecutionState=kernel32.SetThreadExecutionState")
#pragma comment(linker, "/EXPORT:SetThreadGroupAffinity=kernel32.SetThreadGroupAffinity")
#pragma comment(linker, "/EXPORT:SetThreadIdealProcessor=kernel32.SetThreadIdealProcessor")
#pragma comment(linker, "/EXPORT:SetThreadIdealProcessorEx=kernel32.SetThreadIdealProcessorEx")
#pragma comment(linker, "/EXPORT:SetThreadLocale=kernel32.SetThreadLocale")
#pragma comment(linker, "/EXPORT:SetThreadPreferredUILanguages=kernel32.SetThreadPreferredUILanguages")
#pragma comment(linker, "/EXPORT:SetThreadPriority=kernel32.SetThreadPriority")
#pragma comment(linker, "/EXPORT:SetThreadPriorityBoost=kernel32.SetThreadPriorityBoost")
#pragma comment(linker, "/EXPORT:SetThreadStackGuarantee=kernel32.SetThreadStackGuarantee")
#pragma comment(linker, "/EXPORT:SetThreadToken=kernel32.SetThreadToken")
#pragma comment(linker, "/EXPORT:SetThreadUILanguage=kernel32.SetThreadUILanguage")
#pragma comment(linker, "/EXPORT:SetThreadpoolStackInformation=kernel32.SetThreadpoolStackInformation")
#pragma comment(linker, "/EXPORT:SetThreadpoolThreadMaximum=kernel32.SetThreadpoolThreadMaximum")
#pragma comment(linker, "/EXPORT:SetThreadpoolThreadMinimum=kernel32.SetThreadpoolThreadMinimum")
#pragma comment(linker, "/EXPORT:SetThreadpoolTimer=kernel32.SetThreadpoolTimer")
#pragma comment(linker, "/EXPORT:SetThreadpoolWait=kernel32.SetThreadpoolWait")
#pragma comment(linker, "/EXPORT:SetTimeZoneInformation=kernel32.SetTimeZoneInformation")
#pragma comment(linker, "/EXPORT:SetTimerQueueTimer=kernel32.SetTimerQueueTimer")
#pragma comment(linker, "/EXPORT:SetUnhandledExceptionFilter=kernel32.SetUnhandledExceptionFilter")
#pragma comment(linker, "/EXPORT:SetUserGeoID=kernel32.SetUserGeoID")
#pragma comment(linker, "/EXPORT:SetVDMCurrentDirectories=kernel32.SetVDMCurrentDirectories")
#pragma comment(linker, "/EXPORT:SetVolumeLabelA=kernel32.SetVolumeLabelA")
#pragma comment(linker, "/EXPORT:SetVolumeLabelW=kernel32.SetVolumeLabelW")
#pragma comment(linker, "/EXPORT:SetVolumeMountPointA=kernel32.SetVolumeMountPointA")
#pragma comment(linker, "/EXPORT:SetVolumeMountPointW=kernel32.SetVolumeMountPointW")
#pragma comment(linker, "/EXPORT:SetWaitableTimer=kernel32.SetWaitableTimer")
#pragma comment(linker, "/EXPORT:SetWaitableTimerEx=kernel32.SetWaitableTimerEx")
#pragma comment(linker, "/EXPORT:SetXStateFeaturesMask=kernel32.SetXStateFeaturesMask")
#pragma comment(linker, "/EXPORT:SetupComm=kernel32.SetupComm")
#pragma comment(linker, "/EXPORT:ShowConsoleCursor=kernel32.ShowConsoleCursor")
#pragma comment(linker, "/EXPORT:SignalObjectAndWait=kernel32.SignalObjectAndWait")
#pragma comment(linker, "/EXPORT:SizeofResource=kernel32.SizeofResource")
#pragma comment(linker, "/EXPORT:Sleep=kernel32.Sleep")
#pragma comment(linker, "/EXPORT:SleepConditionVariableCS=kernel32.SleepConditionVariableCS")
#pragma comment(linker, "/EXPORT:SleepConditionVariableSRW=kernel32.SleepConditionVariableSRW")
#pragma comment(linker, "/EXPORT:SleepEx=kernel32.SleepEx")
#pragma comment(linker, "/EXPORT:SortCloseHandle=kernel32.SortCloseHandle")
#pragma comment(linker, "/EXPORT:SortGetHandle=kernel32.SortGetHandle")
#pragma comment(linker, "/EXPORT:StartThreadpoolIo=kernel32.StartThreadpoolIo")
#pragma comment(linker, "/EXPORT:SubmitThreadpoolWork=kernel32.SubmitThreadpoolWork")
#pragma comment(linker, "/EXPORT:SuspendThread=kernel32.SuspendThread")
#pragma comment(linker, "/EXPORT:SwitchToFiber=kernel32.SwitchToFiber")
#pragma comment(linker, "/EXPORT:SwitchToThread=kernel32.SwitchToThread")
#pragma comment(linker, "/EXPORT:SystemTimeToFileTime=kernel32.SystemTimeToFileTime")
#pragma comment(linker, "/EXPORT:SystemTimeToTzSpecificLocalTime=kernel32.SystemTimeToTzSpecificLocalTime")
#pragma comment(linker, "/EXPORT:SystemTimeToTzSpecificLocalTimeEx=kernel32.SystemTimeToTzSpecificLocalTimeEx")
#pragma comment(linker, "/EXPORT:TerminateJobObject=kernel32.TerminateJobObject")
#pragma comment(linker, "/EXPORT:TerminateProcess=kernel32.TerminateProcess")
#pragma comment(linker, "/EXPORT:TerminateThread=kernel32.TerminateThread")
#pragma comment(linker, "/EXPORT:TermsrvAppInstallMode=kernel32.TermsrvAppInstallMode")
#pragma comment(linker, "/EXPORT:Thread32First=kernel32.Thread32First")
#pragma comment(linker, "/EXPORT:Thread32Next=kernel32.Thread32Next")
#pragma comment(linker, "/EXPORT:TlsAlloc=kernel32.TlsAlloc")
#pragma comment(linker, "/EXPORT:TlsFree=kernel32.TlsFree")
#pragma comment(linker, "/EXPORT:TlsGetValue=kernel32.TlsGetValue")
#pragma comment(linker, "/EXPORT:TlsSetValue=kernel32.TlsSetValue")
#pragma comment(linker, "/EXPORT:Toolhelp32ReadProcessMemory=kernel32.Toolhelp32ReadProcessMemory")
#pragma comment(linker, "/EXPORT:TransactNamedPipe=kernel32.TransactNamedPipe")
#pragma comment(linker, "/EXPORT:TransmitCommChar=kernel32.TransmitCommChar")
#pragma comment(linker, "/EXPORT:TryAcquireSRWLockExclusive=kernel32.TryAcquireSRWLockExclusive")
#pragma comment(linker, "/EXPORT:TryAcquireSRWLockShared=kernel32.TryAcquireSRWLockShared")
#pragma comment(linker, "/EXPORT:TryEnterCriticalSection=kernel32.TryEnterCriticalSection")
#pragma comment(linker, "/EXPORT:TrySubmitThreadpoolCallback=kernel32.TrySubmitThreadpoolCallback")
#pragma comment(linker, "/EXPORT:TzSpecificLocalTimeToSystemTime=kernel32.TzSpecificLocalTimeToSystemTime")
#pragma comment(linker, "/EXPORT:TzSpecificLocalTimeToSystemTimeEx=kernel32.TzSpecificLocalTimeToSystemTimeEx")
#pragma comment(linker, "/EXPORT:UTRegister=kernel32.UTRegister")
#pragma comment(linker, "/EXPORT:UTUnRegister=kernel32.UTUnRegister")
#pragma comment(linker, "/EXPORT:UnhandledExceptionFilter=kernel32.UnhandledExceptionFilter")
#pragma comment(linker, "/EXPORT:UnlockFile=kernel32.UnlockFile")
#pragma comment(linker, "/EXPORT:UnlockFileEx=kernel32.UnlockFileEx")
#pragma comment(linker, "/EXPORT:UnmapViewOfFile=kernel32.UnmapViewOfFile")
#pragma comment(linker, "/EXPORT:UnregisterApplicationRecoveryCallback=kernel32.UnregisterApplicationRecoveryCallback")
#pragma comment(linker, "/EXPORT:UnregisterApplicationRestart=kernel32.UnregisterApplicationRestart")
#pragma comment(linker, "/EXPORT:UnregisterConsoleIME=kernel32.UnregisterConsoleIME")
#pragma comment(linker, "/EXPORT:UnregisterWait=kernel32.UnregisterWait")
#pragma comment(linker, "/EXPORT:UnregisterWaitEx=kernel32.UnregisterWaitEx")
#pragma comment(linker, "/EXPORT:UpdateCalendarDayOfWeek=kernel32.UpdateCalendarDayOfWeek")
//#pragma comment(linker, "/EXPORT:UpdateProcThreadAttribute=kernel32.UpdateProcThreadAttribute")
#pragma comment(linker, "/EXPORT:UpdateResourceA=kernel32.UpdateResourceA")
#pragma comment(linker, "/EXPORT:UpdateResourceW=kernel32.UpdateResourceW")
#pragma comment(linker, "/EXPORT:VDMConsoleOperation=kernel32.VDMConsoleOperation")
#pragma comment(linker, "/EXPORT:VDMOperationStarted=kernel32.VDMOperationStarted")
#pragma comment(linker, "/EXPORT:VerLanguageNameA=kernel32.VerLanguageNameA")
#pragma comment(linker, "/EXPORT:VerLanguageNameW=kernel32.VerLanguageNameW")
#pragma comment(linker, "/EXPORT:VerSetConditionMask=kernel32.VerSetConditionMask")
#pragma comment(linker, "/EXPORT:VerifyConsoleIoHandle=kernel32.VerifyConsoleIoHandle")
#pragma comment(linker, "/EXPORT:VerifyScripts=kernel32.VerifyScripts")
#pragma comment(linker, "/EXPORT:VerifyVersionInfoA=kernel32.VerifyVersionInfoA")
#pragma comment(linker, "/EXPORT:VerifyVersionInfoW=kernel32.VerifyVersionInfoW")
#pragma comment(linker, "/EXPORT:VirtualAlloc=kernel32.VirtualAlloc")
#pragma comment(linker, "/EXPORT:VirtualAllocEx=kernel32.VirtualAllocEx")
#pragma comment(linker, "/EXPORT:VirtualAllocExNuma=kernel32.VirtualAllocExNuma")
#pragma comment(linker, "/EXPORT:VirtualFree=kernel32.VirtualFree")
#pragma comment(linker, "/EXPORT:VirtualFreeEx=kernel32.VirtualFreeEx")
#pragma comment(linker, "/EXPORT:VirtualLock=kernel32.VirtualLock")
#pragma comment(linker, "/EXPORT:VirtualProtect=kernel32.VirtualProtect")
#pragma comment(linker, "/EXPORT:VirtualProtectEx=kernel32.VirtualProtectEx")
#pragma comment(linker, "/EXPORT:VirtualQuery=kernel32.VirtualQuery")
#pragma comment(linker, "/EXPORT:VirtualQueryEx=kernel32.VirtualQueryEx")
#pragma comment(linker, "/EXPORT:VirtualUnlock=kernel32.VirtualUnlock")
#pragma comment(linker, "/EXPORT:WTSGetActiveConsoleSessionId=kernel32.WTSGetActiveConsoleSessionId")
#pragma comment(linker, "/EXPORT:WaitCommEvent=kernel32.WaitCommEvent")
#pragma comment(linker, "/EXPORT:WaitForDebugEvent=kernel32.WaitForDebugEvent")
#pragma comment(linker, "/EXPORT:WaitForMultipleObjects=kernel32.WaitForMultipleObjects")
#pragma comment(linker, "/EXPORT:WaitForMultipleObjectsEx=kernel32.WaitForMultipleObjectsEx")
#pragma comment(linker, "/EXPORT:WaitForSingleObject=kernel32.WaitForSingleObject")
#pragma comment(linker, "/EXPORT:WaitForSingleObjectEx=kernel32.WaitForSingleObjectEx")
#pragma comment(linker, "/EXPORT:WaitForThreadpoolIoCallbacks=kernel32.WaitForThreadpoolIoCallbacks")
#pragma comment(linker, "/EXPORT:WaitForThreadpoolTimerCallbacks=kernel32.WaitForThreadpoolTimerCallbacks")
#pragma comment(linker, "/EXPORT:WaitForThreadpoolWaitCallbacks=kernel32.WaitForThreadpoolWaitCallbacks")
#pragma comment(linker, "/EXPORT:WaitForThreadpoolWorkCallbacks=kernel32.WaitForThreadpoolWorkCallbacks")
#pragma comment(linker, "/EXPORT:WaitNamedPipeA=kernel32.WaitNamedPipeA")
#pragma comment(linker, "/EXPORT:WaitNamedPipeW=kernel32.WaitNamedPipeW")
#pragma comment(linker, "/EXPORT:WakeAllConditionVariable=kernel32.WakeAllConditionVariable")
#pragma comment(linker, "/EXPORT:WakeConditionVariable=kernel32.WakeConditionVariable")
#pragma comment(linker, "/EXPORT:WerGetFlags=kernel32.WerGetFlags")
#pragma comment(linker, "/EXPORT:WerRegisterFile=kernel32.WerRegisterFile")
#pragma comment(linker, "/EXPORT:WerRegisterMemoryBlock=kernel32.WerRegisterMemoryBlock")
#pragma comment(linker, "/EXPORT:WerRegisterRuntimeExceptionModule=kernel32.WerRegisterRuntimeExceptionModule")
#pragma comment(linker, "/EXPORT:WerSetFlags=kernel32.WerSetFlags")
#pragma comment(linker, "/EXPORT:WerUnregisterFile=kernel32.WerUnregisterFile")
#pragma comment(linker, "/EXPORT:WerUnregisterMemoryBlock=kernel32.WerUnregisterMemoryBlock")
#pragma comment(linker, "/EXPORT:WerUnregisterRuntimeExceptionModule=kernel32.WerUnregisterRuntimeExceptionModule")
#pragma comment(linker, "/EXPORT:WerpCleanupMessageMapping=kernel32.WerpCleanupMessageMapping")
#pragma comment(linker, "/EXPORT:WerpInitiateRemoteRecovery=kernel32.WerpInitiateRemoteRecovery")
#pragma comment(linker, "/EXPORT:WerpNotifyLoadStringResource=kernel32.WerpNotifyLoadStringResource")
#pragma comment(linker, "/EXPORT:WerpNotifyLoadStringResourceEx=kernel32.WerpNotifyLoadStringResourceEx")
#pragma comment(linker, "/EXPORT:WerpNotifyUseStringResource=kernel32.WerpNotifyUseStringResource")
#pragma comment(linker, "/EXPORT:WerpStringLookup=kernel32.WerpStringLookup")
#pragma comment(linker, "/EXPORT:WideCharToMultiByte=kernel32.WideCharToMultiByte")
#pragma comment(linker, "/EXPORT:WinExec=kernel32.WinExec")
#pragma comment(linker, "/EXPORT:Wow64DisableWow64FsRedirection=kernel32.Wow64DisableWow64FsRedirection")
#pragma comment(linker, "/EXPORT:Wow64EnableWow64FsRedirection=kernel32.Wow64EnableWow64FsRedirection")
#pragma comment(linker, "/EXPORT:Wow64GetThreadContext=kernel32.Wow64GetThreadContext")
#pragma comment(linker, "/EXPORT:Wow64GetThreadSelectorEntry=kernel32.Wow64GetThreadSelectorEntry")
#pragma comment(linker, "/EXPORT:Wow64RevertWow64FsRedirection=kernel32.Wow64RevertWow64FsRedirection")
#pragma comment(linker, "/EXPORT:Wow64SetThreadContext=kernel32.Wow64SetThreadContext")
#pragma comment(linker, "/EXPORT:Wow64SuspendThread=kernel32.Wow64SuspendThread")
#pragma comment(linker, "/EXPORT:WriteConsoleA=kernel32.WriteConsoleA")
#pragma comment(linker, "/EXPORT:WriteConsoleInputA=kernel32.WriteConsoleInputA")
#pragma comment(linker, "/EXPORT:WriteConsoleInputVDMA=kernel32.WriteConsoleInputVDMA")
#pragma comment(linker, "/EXPORT:WriteConsoleInputVDMW=kernel32.WriteConsoleInputVDMW")
#pragma comment(linker, "/EXPORT:WriteConsoleInputW=kernel32.WriteConsoleInputW")
#pragma comment(linker, "/EXPORT:WriteConsoleOutputA=kernel32.WriteConsoleOutputA")
#pragma comment(linker, "/EXPORT:WriteConsoleOutputAttribute=kernel32.WriteConsoleOutputAttribute")
#pragma comment(linker, "/EXPORT:WriteConsoleOutputCharacterA=kernel32.WriteConsoleOutputCharacterA")
#pragma comment(linker, "/EXPORT:WriteConsoleOutputCharacterW=kernel32.WriteConsoleOutputCharacterW")
#pragma comment(linker, "/EXPORT:WriteConsoleOutputW=kernel32.WriteConsoleOutputW")
#pragma comment(linker, "/EXPORT:WriteConsoleW=kernel32.WriteConsoleW")
#pragma comment(linker, "/EXPORT:WriteFile=kernel32.WriteFile")
#pragma comment(linker, "/EXPORT:WriteFileEx=kernel32.WriteFileEx")
#pragma comment(linker, "/EXPORT:WriteFileGather=kernel32.WriteFileGather")
#pragma comment(linker, "/EXPORT:WritePrivateProfileSectionA=kernel32.WritePrivateProfileSectionA")
#pragma comment(linker, "/EXPORT:WritePrivateProfileSectionW=kernel32.WritePrivateProfileSectionW")
#pragma comment(linker, "/EXPORT:WritePrivateProfileStringA=kernel32.WritePrivateProfileStringA")
#pragma comment(linker, "/EXPORT:WritePrivateProfileStringW=kernel32.WritePrivateProfileStringW")
#pragma comment(linker, "/EXPORT:WritePrivateProfileStructA=kernel32.WritePrivateProfileStructA")
#pragma comment(linker, "/EXPORT:WritePrivateProfileStructW=kernel32.WritePrivateProfileStructW")
#pragma comment(linker, "/EXPORT:WriteProcessMemory=kernel32.WriteProcessMemory")
#pragma comment(linker, "/EXPORT:WriteProfileSectionA=kernel32.WriteProfileSectionA")
#pragma comment(linker, "/EXPORT:WriteProfileSectionW=kernel32.WriteProfileSectionW")
#pragma comment(linker, "/EXPORT:WriteProfileStringA=kernel32.WriteProfileStringA")
#pragma comment(linker, "/EXPORT:WriteProfileStringW=kernel32.WriteProfileStringW")
#pragma comment(linker, "/EXPORT:WriteTapemark=kernel32.WriteTapemark")
#pragma comment(linker, "/EXPORT:ZombifyActCtx=kernel32.ZombifyActCtx")
#pragma comment(linker, "/EXPORT:lstrcat=kernel32.lstrcat")
#pragma comment(linker, "/EXPORT:lstrcatA=kernel32.lstrcatA")
#pragma comment(linker, "/EXPORT:lstrcatW=kernel32.lstrcatW")
#pragma comment(linker, "/EXPORT:lstrcmp=kernel32.lstrcmp")
#pragma comment(linker, "/EXPORT:lstrcmpA=kernel32.lstrcmpA")
#pragma comment(linker, "/EXPORT:lstrcmpW=kernel32.lstrcmpW")
#pragma comment(linker, "/EXPORT:lstrcmpi=kernel32.lstrcmpi")
#pragma comment(linker, "/EXPORT:lstrcmpiA=kernel32.lstrcmpiA")
#pragma comment(linker, "/EXPORT:lstrcmpiW=kernel32.lstrcmpiW")
#pragma comment(linker, "/EXPORT:lstrcpy=kernel32.lstrcpy")
#pragma comment(linker, "/EXPORT:lstrcpyA=kernel32.lstrcpyA")
#pragma comment(linker, "/EXPORT:lstrcpyW=kernel32.lstrcpyW")
#pragma comment(linker, "/EXPORT:lstrcpyn=kernel32.lstrcpyn")
#pragma comment(linker, "/EXPORT:lstrcpynA=kernel32.lstrcpynA")
#pragma comment(linker, "/EXPORT:lstrcpynW=kernel32.lstrcpynW")
#pragma comment(linker, "/EXPORT:lstrlen=kernel32.lstrlen")
#pragma comment(linker, "/EXPORT:lstrlenA=kernel32.lstrlenA")
#pragma comment(linker, "/EXPORT:lstrlenW=kernel32.lstrlenW")

#ifdef _M_X64

	//
	// Exports from KERNEL32.DLL which begin with an underscore.
	//

	#pragma comment(linker, "/EXPORT:_hread=kernel32._hread")
	#pragma comment(linker, "/EXPORT:_hwrite=kernel32._hwrite")
	#pragma comment(linker, "/EXPORT:_lclose=kernel32._lclose")
	#pragma comment(linker, "/EXPORT:_lcreat=kernel32._lcreat")
	#pragma comment(linker, "/EXPORT:_llseek=kernel32._llseek")
	#pragma comment(linker, "/EXPORT:_lopen=kernel32._lopen")
	#pragma comment(linker, "/EXPORT:_lread=kernel32._lread")
	#pragma comment(linker, "/EXPORT:_lwrite=kernel32._lwrite")

#else

	//
	// Exports which begin with an underscore must be written here with an extra
	// underscore. Otherwise, the linker will remove the underscore and cause us
	// to export the function with the wrong name.
	//

	#pragma comment(linker, "/EXPORT:__hread=kernel32._hread")
	#pragma comment(linker, "/EXPORT:__hwrite=kernel32._hwrite")
	#pragma comment(linker, "/EXPORT:__lclose=kernel32._lclose")
	#pragma comment(linker, "/EXPORT:__lcreat=kernel32._lcreat")
	#pragma comment(linker, "/EXPORT:__llseek=kernel32._llseek")
	#pragma comment(linker, "/EXPORT:__lopen=kernel32._lopen")
	#pragma comment(linker, "/EXPORT:__lread=kernel32._lread")
	#pragma comment(linker, "/EXPORT:__lwrite=kernel32._lwrite")

#endif

#ifdef _M_X64

	//
	// This section contains KERNEL32.DLL exports that are only present in the 64-bit version.
	//

	#pragma comment(linker, "/EXPORT:CreateUmsCompletionList=kernel32.CreateUmsCompletionList")
	#pragma comment(linker, "/EXPORT:CreateUmsThreadContext=kernel32.CreateUmsThreadContext")
	#pragma comment(linker, "/EXPORT:DeleteUmsCompletionList=kernel32.DeleteUmsCompletionList")
	#pragma comment(linker, "/EXPORT:DeleteUmsThreadContext=kernel32.DeleteUmsThreadContext")
	#pragma comment(linker, "/EXPORT:DequeueUmsCompletionListItems=kernel32.DequeueUmsCompletionListItems")
	#pragma comment(linker, "/EXPORT:EnterUmsSchedulingMode=kernel32.EnterUmsSchedulingMode")
	#pragma comment(linker, "/EXPORT:ExecuteUmsThread=kernel32.ExecuteUmsThread")
	#pragma comment(linker, "/EXPORT:GetCurrentUmsThread=kernel32.GetCurrentUmsThread")
	#pragma comment(linker, "/EXPORT:GetNextUmsListItem=kernel32.GetNextUmsListItem")
	#pragma comment(linker, "/EXPORT:GetUmsCompletionListEvent=kernel32.GetUmsCompletionListEvent")
	#pragma comment(linker, "/EXPORT:GetUmsSystemThreadInformation=kernel32.GetUmsSystemThreadInformation")
	#pragma comment(linker, "/EXPORT:QueryUmsThreadInformation=kernel32.QueryUmsThreadInformation")
	#pragma comment(linker, "/EXPORT:RtlAddFunctionTable=kernel32.RtlAddFunctionTable")
	#pragma comment(linker, "/EXPORT:RtlCompareMemory=kernel32.RtlCompareMemory")
	#pragma comment(linker, "/EXPORT:RtlCopyMemory=kernel32.RtlCopyMemory")
	#pragma comment(linker, "/EXPORT:RtlDeleteFunctionTable=kernel32.RtlDeleteFunctionTable")
	#pragma comment(linker, "/EXPORT:RtlInstallFunctionTableCallback=kernel32.RtlInstallFunctionTableCallback")
	#pragma comment(linker, "/EXPORT:RtlLookupFunctionEntry=kernel32.RtlLookupFunctionEntry")
	#pragma comment(linker, "/EXPORT:RtlPcToFileHeader=kernel32.RtlPcToFileHeader")
	#pragma comment(linker, "/EXPORT:RtlRaiseException=kernel32.RtlRaiseException")
	#pragma comment(linker, "/EXPORT:RtlRestoreContext=kernel32.RtlRestoreContext")
	#pragma comment(linker, "/EXPORT:RtlUnwindEx=kernel32.RtlUnwindEx")
	#pragma comment(linker, "/EXPORT:RtlVirtualUnwind=kernel32.RtlVirtualUnwind")
	#pragma comment(linker, "/EXPORT:SetUmsThreadInformation=kernel32.SetUmsThreadInformation")
	#pragma comment(linker, "/EXPORT:UmsThreadYield=kernel32.UmsThreadYield")
	#pragma comment(linker, "/EXPORT:__C_specific_handler=kernel32.__C_specific_handler")
	#pragma comment(linker, "/EXPORT:__chkstk=kernel32.__chkstk")
	#pragma comment(linker, "/EXPORT:__misaligned_access=kernel32.__misaligned_access")
	#pragma comment(linker, "/EXPORT:_local_unwind=kernel32._local_unwind")
	#pragma comment(linker, "/EXPORT:uaw_lstrcmpW=kernel32.uaw_lstrcmpW")
	#pragma comment(linker, "/EXPORT:uaw_lstrcmpiW=kernel32.uaw_lstrcmpiW")
	#pragma comment(linker, "/EXPORT:uaw_lstrlenW=kernel32.uaw_lstrlenW")
	#pragma comment(linker, "/EXPORT:uaw_wcschr=kernel32.uaw_wcschr")
	#pragma comment(linker, "/EXPORT:uaw_wcscpy=kernel32.uaw_wcscpy")
	#pragma comment(linker, "/EXPORT:uaw_wcsicmp=kernel32.uaw_wcsicmp")
	#pragma comment(linker, "/EXPORT:uaw_wcslen=kernel32.uaw_wcslen")
	#pragma comment(linker, "/EXPORT:uaw_wcsrchr=kernel32.uaw_wcsrchr")

#else

	//
	// This section contains KERNEL32.DLL exports that are only present in the 32-bit version.
	//

	#pragma comment(linker, "/EXPORT:CreateSocketHandle=kernel32.CreateSocketHandle")
	#pragma comment(linker, "/EXPORT:GetHandleContext=kernel32.GetHandleContext")
	#pragma comment(linker, "/EXPORT:InterlockedCompareExchange=kernel32.InterlockedCompareExchange")
	#pragma comment(linker, "/EXPORT:InterlockedCompareExchange64=kernel32.InterlockedCompareExchange64")
	#pragma comment(linker, "/EXPORT:InterlockedDecrement=kernel32.InterlockedDecrement")
	#pragma comment(linker, "/EXPORT:InterlockedExchange=kernel32.InterlockedExchange")
	#pragma comment(linker, "/EXPORT:InterlockedExchangeAdd=kernel32.InterlockedExchangeAdd")
	#pragma comment(linker, "/EXPORT:InterlockedIncrement=kernel32.InterlockedIncrement")
	#pragma comment(linker, "/EXPORT:SetHandleContext=kernel32.SetHandleContext")

#endif

//
// The following section contains the exports that are unique to KERNELBASE.DLL.
// All of these exports are present in both the 32-bit and 64-bit versions of the DLL.
//

#pragma comment(linker, "/EXPORT:AccessCheck=kernelbase.AccessCheck")
#pragma comment(linker, "/EXPORT:AccessCheckAndAuditAlarmW=kernelbase.AccessCheckAndAuditAlarmW")
#pragma comment(linker, "/EXPORT:AccessCheckByType=kernelbase.AccessCheckByType")
#pragma comment(linker, "/EXPORT:AccessCheckByTypeAndAuditAlarmW=kernelbase.AccessCheckByTypeAndAuditAlarmW")
#pragma comment(linker, "/EXPORT:AccessCheckByTypeResultList=kernelbase.AccessCheckByTypeResultList")
#pragma comment(linker, "/EXPORT:AccessCheckByTypeResultListAndAuditAlarmByHandleW=kernelbase.AccessCheckByTypeResultListAndAuditAlarmByHandleW")
#pragma comment(linker, "/EXPORT:AccessCheckByTypeResultListAndAuditAlarmW=kernelbase.AccessCheckByTypeResultListAndAuditAlarmW")
#pragma comment(linker, "/EXPORT:AddAccessAllowedAce=kernelbase.AddAccessAllowedAce")
#pragma comment(linker, "/EXPORT:AddAccessAllowedAceEx=kernelbase.AddAccessAllowedAceEx")
#pragma comment(linker, "/EXPORT:AddAccessAllowedObjectAce=kernelbase.AddAccessAllowedObjectAce")
#pragma comment(linker, "/EXPORT:AddAccessDeniedAce=kernelbase.AddAccessDeniedAce")
#pragma comment(linker, "/EXPORT:AddAccessDeniedAceEx=kernelbase.AddAccessDeniedAceEx")
#pragma comment(linker, "/EXPORT:AddAccessDeniedObjectAce=kernelbase.AddAccessDeniedObjectAce")
#pragma comment(linker, "/EXPORT:AddAce=kernelbase.AddAce")
#pragma comment(linker, "/EXPORT:AddAuditAccessAce=kernelbase.AddAuditAccessAce")
#pragma comment(linker, "/EXPORT:AddAuditAccessAceEx=kernelbase.AddAuditAccessAceEx")
#pragma comment(linker, "/EXPORT:AddAuditAccessObjectAce=kernelbase.AddAuditAccessObjectAce")
#pragma comment(linker, "/EXPORT:AddMandatoryAce=kernelbase.AddMandatoryAce")
#pragma comment(linker, "/EXPORT:AdjustTokenGroups=kernelbase.AdjustTokenGroups")
#pragma comment(linker, "/EXPORT:AdjustTokenPrivileges=kernelbase.AdjustTokenPrivileges")
#pragma comment(linker, "/EXPORT:AllocateAndInitializeSid=kernelbase.AllocateAndInitializeSid")
#pragma comment(linker, "/EXPORT:AllocateLocallyUniqueId=kernelbase.AllocateLocallyUniqueId")
#pragma comment(linker, "/EXPORT:AreAllAccessesGranted=kernelbase.AreAllAccessesGranted")
#pragma comment(linker, "/EXPORT:AreAnyAccessesGranted=kernelbase.AreAnyAccessesGranted")
#pragma comment(linker, "/EXPORT:BaseDllFreeResourceId=kernelbase.BaseDllFreeResourceId")
#pragma comment(linker, "/EXPORT:BaseDllMapResourceIdW=kernelbase.BaseDllMapResourceIdW")
#pragma comment(linker, "/EXPORT:BaseGetProcessDllPath=kernelbase.BaseGetProcessDllPath")
#pragma comment(linker, "/EXPORT:BaseGetProcessExePath=kernelbase.BaseGetProcessExePath")
#pragma comment(linker, "/EXPORT:BaseInvalidateDllSearchPathCache=kernelbase.BaseInvalidateDllSearchPathCache")
#pragma comment(linker, "/EXPORT:BaseInvalidateProcessSearchPathCache=kernelbase.BaseInvalidateProcessSearchPathCache")
#pragma comment(linker, "/EXPORT:BaseReleaseProcessDllPath=kernelbase.BaseReleaseProcessDllPath")
#pragma comment(linker, "/EXPORT:BaseReleaseProcessExePath=kernelbase.BaseReleaseProcessExePath")
#pragma comment(linker, "/EXPORT:BemCopyReference=kernelbase.BemCopyReference")
#pragma comment(linker, "/EXPORT:BemCreateContractFrom=kernelbase.BemCreateContractFrom")
#pragma comment(linker, "/EXPORT:BemCreateReference=kernelbase.BemCreateReference")
#pragma comment(linker, "/EXPORT:BemFreeContract=kernelbase.BemFreeContract")
#pragma comment(linker, "/EXPORT:BemFreeReference=kernelbase.BemFreeReference")
#pragma comment(linker, "/EXPORT:CheckGroupPolicyEnabled=kernelbase.CheckGroupPolicyEnabled")
#pragma comment(linker, "/EXPORT:CheckTokenMembership=kernelbase.CheckTokenMembership")
#pragma comment(linker, "/EXPORT:ConvertToAutoInheritPrivateObjectSecurity=kernelbase.ConvertToAutoInheritPrivateObjectSecurity")
#pragma comment(linker, "/EXPORT:CopySid=kernelbase.CopySid")
#pragma comment(linker, "/EXPORT:CreatePrivateObjectSecurity=kernelbase.CreatePrivateObjectSecurity")
#pragma comment(linker, "/EXPORT:CreatePrivateObjectSecurityEx=kernelbase.CreatePrivateObjectSecurityEx")
#pragma comment(linker, "/EXPORT:CreatePrivateObjectSecurityWithMultipleInheritance=kernelbase.CreatePrivateObjectSecurityWithMultipleInheritance")
#pragma comment(linker, "/EXPORT:CreateRestrictedToken=kernelbase.CreateRestrictedToken")
//#pragma comment(linker, "/EXPORT:CreateWellKnownSid=kernelbase.CreateWellKnownSid")
#pragma comment(linker, "/EXPORT:DeleteAce=kernelbase.DeleteAce")
#pragma comment(linker, "/EXPORT:DestroyPrivateObjectSecurity=kernelbase.DestroyPrivateObjectSecurity")
#pragma comment(linker, "/EXPORT:DuplicateToken=kernelbase.DuplicateToken")
#pragma comment(linker, "/EXPORT:DuplicateTokenEx=kernelbase.DuplicateTokenEx")
#pragma comment(linker, "/EXPORT:EqualDomainSid=kernelbase.EqualDomainSid")
#pragma comment(linker, "/EXPORT:EqualPrefixSid=kernelbase.EqualPrefixSid")
#pragma comment(linker, "/EXPORT:EqualSid=kernelbase.EqualSid")
#pragma comment(linker, "/EXPORT:FindFirstFreeAce=kernelbase.FindFirstFreeAce")
#pragma comment(linker, "/EXPORT:FreeSid=kernelbase.FreeSid")
#pragma comment(linker, "/EXPORT:GetAce=kernelbase.GetAce")
#pragma comment(linker, "/EXPORT:GetAclInformation=kernelbase.GetAclInformation")
#pragma comment(linker, "/EXPORT:GetCPFileNameFromRegistry=kernelbase.GetCPFileNameFromRegistry")
#pragma comment(linker, "/EXPORT:GetCPHashNode=kernelbase.GetCPHashNode")
#pragma comment(linker, "/EXPORT:GetCalendar=kernelbase.GetCalendar")
#pragma comment(linker, "/EXPORT:GetFallbackDisplayName=kernelbase.GetFallbackDisplayName")
#pragma comment(linker, "/EXPORT:GetFileSecurityW=kernelbase.GetFileSecurityW")
#pragma comment(linker, "/EXPORT:GetKernelObjectSecurity=kernelbase.GetKernelObjectSecurity")
#pragma comment(linker, "/EXPORT:GetLengthSid=kernelbase.GetLengthSid")
#pragma comment(linker, "/EXPORT:GetLocaleInfoHelper=kernelbase.GetLocaleInfoHelper")
#pragma comment(linker, "/EXPORT:GetNamedLocaleHashNode=kernelbase.GetNamedLocaleHashNode")
#pragma comment(linker, "/EXPORT:GetPrivateObjectSecurity=kernelbase.GetPrivateObjectSecurity")
#pragma comment(linker, "/EXPORT:GetPtrCalData=kernelbase.GetPtrCalData")
#pragma comment(linker, "/EXPORT:GetPtrCalDataArray=kernelbase.GetPtrCalDataArray")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorControl=kernelbase.GetSecurityDescriptorControl")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorDacl=kernelbase.GetSecurityDescriptorDacl")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorGroup=kernelbase.GetSecurityDescriptorGroup")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorLength=kernelbase.GetSecurityDescriptorLength")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorOwner=kernelbase.GetSecurityDescriptorOwner")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorRMControl=kernelbase.GetSecurityDescriptorRMControl")
#pragma comment(linker, "/EXPORT:GetSecurityDescriptorSacl=kernelbase.GetSecurityDescriptorSacl")
#pragma comment(linker, "/EXPORT:GetSidIdentifierAuthority=kernelbase.GetSidIdentifierAuthority")
#pragma comment(linker, "/EXPORT:GetSidLengthRequired=kernelbase.GetSidLengthRequired")
#pragma comment(linker, "/EXPORT:GetSidSubAuthority=kernelbase.GetSidSubAuthority")
#pragma comment(linker, "/EXPORT:GetSidSubAuthorityCount=kernelbase.GetSidSubAuthorityCount")
#pragma comment(linker, "/EXPORT:GetStringTableEntry=kernelbase.GetStringTableEntry")
#pragma comment(linker, "/EXPORT:GetTokenInformation=kernelbase.GetTokenInformation")
#pragma comment(linker, "/EXPORT:GetUserInfo=kernelbase.GetUserInfo")
#pragma comment(linker, "/EXPORT:GetUserInfoWord=kernelbase.GetUserInfoWord")
#pragma comment(linker, "/EXPORT:GetWindowsAccountDomainSid=kernelbase.GetWindowsAccountDomainSid")
#pragma comment(linker, "/EXPORT:ImpersonateAnonymousToken=kernelbase.ImpersonateAnonymousToken")
#pragma comment(linker, "/EXPORT:ImpersonateLoggedOnUser=kernelbase.ImpersonateLoggedOnUser")
#pragma comment(linker, "/EXPORT:ImpersonateNamedPipeClient=kernelbase.ImpersonateNamedPipeClient")
#pragma comment(linker, "/EXPORT:ImpersonateSelf=kernelbase.ImpersonateSelf")
#pragma comment(linker, "/EXPORT:InitializeAcl=kernelbase.InitializeAcl")
#pragma comment(linker, "/EXPORT:InitializeSecurityDescriptor=kernelbase.InitializeSecurityDescriptor")
#pragma comment(linker, "/EXPORT:InitializeSid=kernelbase.InitializeSid")
#pragma comment(linker, "/EXPORT:InternalLcidToName=kernelbase.InternalLcidToName")
#pragma comment(linker, "/EXPORT:Internal_EnumCalendarInfo=kernelbase.Internal_EnumCalendarInfo")
#pragma comment(linker, "/EXPORT:Internal_EnumDateFormats=kernelbase.Internal_EnumDateFormats")
#pragma comment(linker, "/EXPORT:Internal_EnumLanguageGroupLocales=kernelbase.Internal_EnumLanguageGroupLocales")
#pragma comment(linker, "/EXPORT:Internal_EnumSystemCodePages=kernelbase.Internal_EnumSystemCodePages")
#pragma comment(linker, "/EXPORT:Internal_EnumSystemLanguageGroups=kernelbase.Internal_EnumSystemLanguageGroups")
#pragma comment(linker, "/EXPORT:Internal_EnumSystemLocales=kernelbase.Internal_EnumSystemLocales")
#pragma comment(linker, "/EXPORT:Internal_EnumTimeFormats=kernelbase.Internal_EnumTimeFormats")
#pragma comment(linker, "/EXPORT:Internal_EnumUILanguages=kernelbase.Internal_EnumUILanguages")
#pragma comment(linker, "/EXPORT:InvalidateTzSpecificCache=kernelbase.InvalidateTzSpecificCache")
#pragma comment(linker, "/EXPORT:IsTokenRestricted=kernelbase.IsTokenRestricted")
#pragma comment(linker, "/EXPORT:IsValidAcl=kernelbase.IsValidAcl")
#pragma comment(linker, "/EXPORT:IsValidRelativeSecurityDescriptor=kernelbase.IsValidRelativeSecurityDescriptor")
#pragma comment(linker, "/EXPORT:IsValidSecurityDescriptor=kernelbase.IsValidSecurityDescriptor")
#pragma comment(linker, "/EXPORT:IsValidSid=kernelbase.IsValidSid")
#pragma comment(linker, "/EXPORT:IsWellKnownSid=kernelbase.IsWellKnownSid")
#pragma comment(linker, "/EXPORT:KernelBaseGetGlobalData=kernelbase.KernelBaseGetGlobalData")
#pragma comment(linker, "/EXPORT:LoadStringA=kernelbase.LoadStringA")
#pragma comment(linker, "/EXPORT:LoadStringByReference=kernelbase.LoadStringByReference")
#pragma comment(linker, "/EXPORT:LoadStringW=kernelbase.LoadStringW")
#pragma comment(linker, "/EXPORT:MakeAbsoluteSD=kernelbase.MakeAbsoluteSD")
#pragma comment(linker, "/EXPORT:MakeAbsoluteSD2=kernelbase.MakeAbsoluteSD2")
#pragma comment(linker, "/EXPORT:MakeSelfRelativeSD=kernelbase.MakeSelfRelativeSD")
#pragma comment(linker, "/EXPORT:MapGenericMask=kernelbase.MapGenericMask")
#pragma comment(linker, "/EXPORT:NlsDispatchAnsiEnumProc=kernelbase.NlsDispatchAnsiEnumProc")
#pragma comment(linker, "/EXPORT:NlsGetACPFromLocale=kernelbase.NlsGetACPFromLocale")
#pragma comment(linker, "/EXPORT:NlsIsUserDefaultLocale=kernelbase.NlsIsUserDefaultLocale")
#pragma comment(linker, "/EXPORT:NlsValidateLocale=kernelbase.NlsValidateLocale")
#pragma comment(linker, "/EXPORT:NotifyRedirectedStringChange=kernelbase.NotifyRedirectedStringChange")
#pragma comment(linker, "/EXPORT:ObjectCloseAuditAlarmW=kernelbase.ObjectCloseAuditAlarmW")
#pragma comment(linker, "/EXPORT:ObjectDeleteAuditAlarmW=kernelbase.ObjectDeleteAuditAlarmW")
#pragma comment(linker, "/EXPORT:ObjectOpenAuditAlarmW=kernelbase.ObjectOpenAuditAlarmW")
#pragma comment(linker, "/EXPORT:ObjectPrivilegeAuditAlarmW=kernelbase.ObjectPrivilegeAuditAlarmW")
#pragma comment(linker, "/EXPORT:OpenRegKey=kernelbase.OpenRegKey")
#pragma comment(linker, "/EXPORT:PrivilegeCheck=kernelbase.PrivilegeCheck")
#pragma comment(linker, "/EXPORT:PrivilegedServiceAuditAlarmW=kernelbase.PrivilegedServiceAuditAlarmW")
#pragma comment(linker, "/EXPORT:QuerySecurityAccessMask=kernelbase.QuerySecurityAccessMask")
#pragma comment(linker, "/EXPORT:RevertToSelf=kernelbase.RevertToSelf")
#pragma comment(linker, "/EXPORT:SetAclInformation=kernelbase.SetAclInformation")
#pragma comment(linker, "/EXPORT:SetFileSecurityW=kernelbase.SetFileSecurityW")
#pragma comment(linker, "/EXPORT:SetKernelObjectSecurity=kernelbase.SetKernelObjectSecurity")
#pragma comment(linker, "/EXPORT:SetPrivateObjectSecurity=kernelbase.SetPrivateObjectSecurity")
#pragma comment(linker, "/EXPORT:SetPrivateObjectSecurityEx=kernelbase.SetPrivateObjectSecurityEx")
#pragma comment(linker, "/EXPORT:SetSecurityAccessMask=kernelbase.SetSecurityAccessMask")
#pragma comment(linker, "/EXPORT:SetSecurityDescriptorControl=kernelbase.SetSecurityDescriptorControl")
#pragma comment(linker, "/EXPORT:SetSecurityDescriptorDacl=kernelbase.SetSecurityDescriptorDacl")
#pragma comment(linker, "/EXPORT:SetSecurityDescriptorGroup=kernelbase.SetSecurityDescriptorGroup")
#pragma comment(linker, "/EXPORT:SetSecurityDescriptorOwner=kernelbase.SetSecurityDescriptorOwner")
#pragma comment(linker, "/EXPORT:SetSecurityDescriptorRMControl=kernelbase.SetSecurityDescriptorRMControl")
#pragma comment(linker, "/EXPORT:SetSecurityDescriptorSacl=kernelbase.SetSecurityDescriptorSacl")
#pragma comment(linker, "/EXPORT:SetTokenInformation=kernelbase.SetTokenInformation")
#pragma comment(linker, "/EXPORT:SpecialMBToWC=kernelbase.SpecialMBToWC")

//
// The following section contains functions that moved to KERNEL32.DLL or
// KERNELBASE.DLL in Windows 10, but are actually in another DLL on
// Windows 7.
//

#pragma comment(linker, "/EXPORT:EventActivityIdControl=kxadvapi.EventActivityIdControl")
#pragma comment(linker, "/EXPORT:EventEnabled=kxadvapi.EventEnabled")
#pragma comment(linker, "/EXPORT:EventProviderEnabled=kxadvapi.EventProviderEnabled")
#pragma comment(linker, "/EXPORT:EventRegister=kxadvapi.EventRegister")
#pragma comment(linker, "/EXPORT:EventSetInformation=kxadvapi.EventSetInformation")
#pragma comment(linker, "/EXPORT:EventUnregister=kxadvapi.EventUnregister")
#pragma comment(linker, "/EXPORT:EventWrite=kxadvapi.EventWrite")
#pragma comment(linker, "/EXPORT:EventWriteEx=kxadvapi.EventWriteEx")
#pragma comment(linker, "/EXPORT:EventWriteString=kxadvapi.EventWriteString")
#pragma comment(linker, "/EXPORT:EventWriteTransfer=kxadvapi.EventWriteTransfer")

//
// The following section contains exports from CFGMGR32.DLL.
//

#pragma comment(linker, "/EXPORT:CMP_GetBlockedDriverInfo=cfgmgr32.CMP_GetBlockedDriverInfo")
#pragma comment(linker, "/EXPORT:CMP_GetServerSideDeviceInstallFlags=cfgmgr32.CMP_GetServerSideDeviceInstallFlags")
#pragma comment(linker, "/EXPORT:CMP_Init_Detection=cfgmgr32.CMP_Init_Detection")
#pragma comment(linker, "/EXPORT:CMP_RegisterNotification=cfgmgr32.CMP_RegisterNotification")
#pragma comment(linker, "/EXPORT:CMP_Report_LogOn=cfgmgr32.CMP_Report_LogOn")
#pragma comment(linker, "/EXPORT:CMP_UnregisterNotification=cfgmgr32.CMP_UnregisterNotification")
#pragma comment(linker, "/EXPORT:CMP_WaitNoPendingInstallEvents=cfgmgr32.CMP_WaitNoPendingInstallEvents")
#pragma comment(linker, "/EXPORT:CMP_WaitServicesAvailable=cfgmgr32.CMP_WaitServicesAvailable")
#pragma comment(linker, "/EXPORT:CM_Add_Driver_PackageW=cfgmgr32.CM_Add_Driver_PackageW")
#pragma comment(linker, "/EXPORT:CM_Add_Driver_Package_ExW=cfgmgr32.CM_Add_Driver_Package_ExW")
#pragma comment(linker, "/EXPORT:CM_Add_Empty_Log_Conf=cfgmgr32.CM_Add_Empty_Log_Conf")
#pragma comment(linker, "/EXPORT:CM_Add_Empty_Log_Conf_Ex=cfgmgr32.CM_Add_Empty_Log_Conf_Ex")
#pragma comment(linker, "/EXPORT:CM_Add_IDA=cfgmgr32.CM_Add_IDA")
#pragma comment(linker, "/EXPORT:CM_Add_IDW=cfgmgr32.CM_Add_IDW")
#pragma comment(linker, "/EXPORT:CM_Add_ID_ExA=cfgmgr32.CM_Add_ID_ExA")
#pragma comment(linker, "/EXPORT:CM_Add_ID_ExW=cfgmgr32.CM_Add_ID_ExW")
#pragma comment(linker, "/EXPORT:CM_Add_Range=cfgmgr32.CM_Add_Range")
#pragma comment(linker, "/EXPORT:CM_Add_Res_Des=cfgmgr32.CM_Add_Res_Des")
#pragma comment(linker, "/EXPORT:CM_Add_Res_Des_Ex=cfgmgr32.CM_Add_Res_Des_Ex")
#pragma comment(linker, "/EXPORT:CM_Apply_PowerScheme=cfgmgr32.CM_Apply_PowerScheme")
#pragma comment(linker, "/EXPORT:CM_Connect_MachineA=cfgmgr32.CM_Connect_MachineA")
#pragma comment(linker, "/EXPORT:CM_Connect_MachineW=cfgmgr32.CM_Connect_MachineW")
#pragma comment(linker, "/EXPORT:CM_Create_DevNodeA=cfgmgr32.CM_Create_DevNodeA")
#pragma comment(linker, "/EXPORT:CM_Create_DevNodeW=cfgmgr32.CM_Create_DevNodeW")
#pragma comment(linker, "/EXPORT:CM_Create_DevNode_ExA=cfgmgr32.CM_Create_DevNode_ExA")
#pragma comment(linker, "/EXPORT:CM_Create_DevNode_ExW=cfgmgr32.CM_Create_DevNode_ExW")
#pragma comment(linker, "/EXPORT:CM_Create_Range_List=cfgmgr32.CM_Create_Range_List")
#pragma comment(linker, "/EXPORT:CM_Delete_Class_Key=cfgmgr32.CM_Delete_Class_Key")
#pragma comment(linker, "/EXPORT:CM_Delete_Class_Key_Ex=cfgmgr32.CM_Delete_Class_Key_Ex")
#pragma comment(linker, "/EXPORT:CM_Delete_DevNode_Key=cfgmgr32.CM_Delete_DevNode_Key")
#pragma comment(linker, "/EXPORT:CM_Delete_DevNode_Key_Ex=cfgmgr32.CM_Delete_DevNode_Key_Ex")
#pragma comment(linker, "/EXPORT:CM_Delete_Device_Interface_KeyA=cfgmgr32.CM_Delete_Device_Interface_KeyA")
#pragma comment(linker, "/EXPORT:CM_Delete_Device_Interface_KeyW=cfgmgr32.CM_Delete_Device_Interface_KeyW")
#pragma comment(linker, "/EXPORT:CM_Delete_Device_Interface_Key_ExA=cfgmgr32.CM_Delete_Device_Interface_Key_ExA")
#pragma comment(linker, "/EXPORT:CM_Delete_Device_Interface_Key_ExW=cfgmgr32.CM_Delete_Device_Interface_Key_ExW")
#pragma comment(linker, "/EXPORT:CM_Delete_Driver_PackageW=cfgmgr32.CM_Delete_Driver_PackageW")
#pragma comment(linker, "/EXPORT:CM_Delete_Driver_Package_ExW=cfgmgr32.CM_Delete_Driver_Package_ExW")
#pragma comment(linker, "/EXPORT:CM_Delete_PowerScheme=cfgmgr32.CM_Delete_PowerScheme")
#pragma comment(linker, "/EXPORT:CM_Delete_Range=cfgmgr32.CM_Delete_Range")
#pragma comment(linker, "/EXPORT:CM_Detect_Resource_Conflict=cfgmgr32.CM_Detect_Resource_Conflict")
#pragma comment(linker, "/EXPORT:CM_Detect_Resource_Conflict_Ex=cfgmgr32.CM_Detect_Resource_Conflict_Ex")
#pragma comment(linker, "/EXPORT:CM_Disable_DevNode=cfgmgr32.CM_Disable_DevNode")
#pragma comment(linker, "/EXPORT:CM_Disable_DevNode_Ex=cfgmgr32.CM_Disable_DevNode_Ex")
#pragma comment(linker, "/EXPORT:CM_Disconnect_Machine=cfgmgr32.CM_Disconnect_Machine")
#pragma comment(linker, "/EXPORT:CM_Dup_Range_List=cfgmgr32.CM_Dup_Range_List")
#pragma comment(linker, "/EXPORT:CM_Duplicate_PowerScheme=cfgmgr32.CM_Duplicate_PowerScheme")
#pragma comment(linker, "/EXPORT:CM_Enable_DevNode=cfgmgr32.CM_Enable_DevNode")
#pragma comment(linker, "/EXPORT:CM_Enable_DevNode_Ex=cfgmgr32.CM_Enable_DevNode_Ex")
#pragma comment(linker, "/EXPORT:CM_Enumerate_Classes=cfgmgr32.CM_Enumerate_Classes")
#pragma comment(linker, "/EXPORT:CM_Enumerate_Classes_Ex=cfgmgr32.CM_Enumerate_Classes_Ex")
#pragma comment(linker, "/EXPORT:CM_Enumerate_EnumeratorsA=cfgmgr32.CM_Enumerate_EnumeratorsA")
#pragma comment(linker, "/EXPORT:CM_Enumerate_EnumeratorsW=cfgmgr32.CM_Enumerate_EnumeratorsW")
#pragma comment(linker, "/EXPORT:CM_Enumerate_Enumerators_ExA=cfgmgr32.CM_Enumerate_Enumerators_ExA")
#pragma comment(linker, "/EXPORT:CM_Enumerate_Enumerators_ExW=cfgmgr32.CM_Enumerate_Enumerators_ExW")
#pragma comment(linker, "/EXPORT:CM_Find_Range=cfgmgr32.CM_Find_Range")
#pragma comment(linker, "/EXPORT:CM_First_Range=cfgmgr32.CM_First_Range")
#pragma comment(linker, "/EXPORT:CM_Free_Log_Conf=cfgmgr32.CM_Free_Log_Conf")
#pragma comment(linker, "/EXPORT:CM_Free_Log_Conf_Ex=cfgmgr32.CM_Free_Log_Conf_Ex")
#pragma comment(linker, "/EXPORT:CM_Free_Log_Conf_Handle=cfgmgr32.CM_Free_Log_Conf_Handle")
#pragma comment(linker, "/EXPORT:CM_Free_Range_List=cfgmgr32.CM_Free_Range_List")
#pragma comment(linker, "/EXPORT:CM_Free_Res_Des=cfgmgr32.CM_Free_Res_Des")
#pragma comment(linker, "/EXPORT:CM_Free_Res_Des_Ex=cfgmgr32.CM_Free_Res_Des_Ex")
#pragma comment(linker, "/EXPORT:CM_Free_Res_Des_Handle=cfgmgr32.CM_Free_Res_Des_Handle")
#pragma comment(linker, "/EXPORT:CM_Free_Resource_Conflict_Handle=cfgmgr32.CM_Free_Resource_Conflict_Handle")
#pragma comment(linker, "/EXPORT:CM_Get_Child=cfgmgr32.CM_Get_Child")
#pragma comment(linker, "/EXPORT:CM_Get_Child_Ex=cfgmgr32.CM_Get_Child_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Key_NameA=cfgmgr32.CM_Get_Class_Key_NameA")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Key_NameW=cfgmgr32.CM_Get_Class_Key_NameW")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Key_Name_ExA=cfgmgr32.CM_Get_Class_Key_Name_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Key_Name_ExW=cfgmgr32.CM_Get_Class_Key_Name_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Class_NameA=cfgmgr32.CM_Get_Class_NameA")
#pragma comment(linker, "/EXPORT:CM_Get_Class_NameW=cfgmgr32.CM_Get_Class_NameW")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Name_ExA=cfgmgr32.CM_Get_Class_Name_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Name_ExW=cfgmgr32.CM_Get_Class_Name_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Class_PropertyW=cfgmgr32.CM_Get_Class_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Property_ExW=cfgmgr32.CM_Get_Class_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Property_Keys=cfgmgr32.CM_Get_Class_Property_Keys")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Property_Keys_Ex=cfgmgr32.CM_Get_Class_Property_Keys_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Registry_PropertyA=cfgmgr32.CM_Get_Class_Registry_PropertyA")
#pragma comment(linker, "/EXPORT:CM_Get_Class_Registry_PropertyW=cfgmgr32.CM_Get_Class_Registry_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Get_Depth=cfgmgr32.CM_Get_Depth")
#pragma comment(linker, "/EXPORT:CM_Get_Depth_Ex=cfgmgr32.CM_Get_Depth_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Custom_PropertyA=cfgmgr32.CM_Get_DevNode_Custom_PropertyA")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Custom_PropertyW=cfgmgr32.CM_Get_DevNode_Custom_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Custom_Property_ExA=cfgmgr32.CM_Get_DevNode_Custom_Property_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Custom_Property_ExW=cfgmgr32.CM_Get_DevNode_Custom_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_PropertyW=cfgmgr32.CM_Get_DevNode_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Property_ExW=cfgmgr32.CM_Get_DevNode_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Property_Keys=cfgmgr32.CM_Get_DevNode_Property_Keys")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Property_Keys_Ex=cfgmgr32.CM_Get_DevNode_Property_Keys_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Registry_PropertyA=cfgmgr32.CM_Get_DevNode_Registry_PropertyA")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Registry_PropertyW=cfgmgr32.CM_Get_DevNode_Registry_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Registry_Property_ExA=cfgmgr32.CM_Get_DevNode_Registry_Property_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Registry_Property_ExW=cfgmgr32.CM_Get_DevNode_Registry_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Status=cfgmgr32.CM_Get_DevNode_Status")
#pragma comment(linker, "/EXPORT:CM_Get_DevNode_Status_Ex=cfgmgr32.CM_Get_DevNode_Status_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Device_IDA=cfgmgr32.CM_Get_Device_IDA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_IDW=cfgmgr32.CM_Get_Device_IDW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_ExA=cfgmgr32.CM_Get_Device_ID_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_ExW=cfgmgr32.CM_Get_Device_ID_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_ListA=cfgmgr32.CM_Get_Device_ID_ListA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_ListW=cfgmgr32.CM_Get_Device_ID_ListW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_List_ExA=cfgmgr32.CM_Get_Device_ID_List_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_List_ExW=cfgmgr32.CM_Get_Device_ID_List_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_List_SizeA=cfgmgr32.CM_Get_Device_ID_List_SizeA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_List_SizeW=cfgmgr32.CM_Get_Device_ID_List_SizeW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_List_Size_ExA=cfgmgr32.CM_Get_Device_ID_List_Size_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_List_Size_ExW=cfgmgr32.CM_Get_Device_ID_List_Size_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_Size=cfgmgr32.CM_Get_Device_ID_Size")
#pragma comment(linker, "/EXPORT:CM_Get_Device_ID_Size_Ex=cfgmgr32.CM_Get_Device_ID_Size_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_AliasA=cfgmgr32.CM_Get_Device_Interface_AliasA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_AliasW=cfgmgr32.CM_Get_Device_Interface_AliasW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_Alias_ExA=cfgmgr32.CM_Get_Device_Interface_Alias_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_Alias_ExW=cfgmgr32.CM_Get_Device_Interface_Alias_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_ListA=cfgmgr32.CM_Get_Device_Interface_ListA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_ListW=cfgmgr32.CM_Get_Device_Interface_ListW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_List_ExA=cfgmgr32.CM_Get_Device_Interface_List_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_List_ExW=cfgmgr32.CM_Get_Device_Interface_List_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_List_SizeA=cfgmgr32.CM_Get_Device_Interface_List_SizeA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_List_SizeW=cfgmgr32.CM_Get_Device_Interface_List_SizeW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_List_Size_ExA=cfgmgr32.CM_Get_Device_Interface_List_Size_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_List_Size_ExW=cfgmgr32.CM_Get_Device_Interface_List_Size_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_PropertyW=cfgmgr32.CM_Get_Device_Interface_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_Property_ExW=cfgmgr32.CM_Get_Device_Interface_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_Property_KeysW=cfgmgr32.CM_Get_Device_Interface_Property_KeysW")
#pragma comment(linker, "/EXPORT:CM_Get_Device_Interface_Property_Keys_ExW=cfgmgr32.CM_Get_Device_Interface_Property_Keys_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_First_Log_Conf=cfgmgr32.CM_Get_First_Log_Conf")
#pragma comment(linker, "/EXPORT:CM_Get_First_Log_Conf_Ex=cfgmgr32.CM_Get_First_Log_Conf_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Global_State=cfgmgr32.CM_Get_Global_State")
#pragma comment(linker, "/EXPORT:CM_Get_Global_State_Ex=cfgmgr32.CM_Get_Global_State_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_HW_Prof_FlagsA=cfgmgr32.CM_Get_HW_Prof_FlagsA")
#pragma comment(linker, "/EXPORT:CM_Get_HW_Prof_FlagsW=cfgmgr32.CM_Get_HW_Prof_FlagsW")
#pragma comment(linker, "/EXPORT:CM_Get_HW_Prof_Flags_ExA=cfgmgr32.CM_Get_HW_Prof_Flags_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_HW_Prof_Flags_ExW=cfgmgr32.CM_Get_HW_Prof_Flags_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Hardware_Profile_InfoA=cfgmgr32.CM_Get_Hardware_Profile_InfoA")
#pragma comment(linker, "/EXPORT:CM_Get_Hardware_Profile_InfoW=cfgmgr32.CM_Get_Hardware_Profile_InfoW")
#pragma comment(linker, "/EXPORT:CM_Get_Hardware_Profile_Info_ExA=cfgmgr32.CM_Get_Hardware_Profile_Info_ExA")
#pragma comment(linker, "/EXPORT:CM_Get_Hardware_Profile_Info_ExW=cfgmgr32.CM_Get_Hardware_Profile_Info_ExW")
#pragma comment(linker, "/EXPORT:CM_Get_Log_Conf_Priority=cfgmgr32.CM_Get_Log_Conf_Priority")
#pragma comment(linker, "/EXPORT:CM_Get_Log_Conf_Priority_Ex=cfgmgr32.CM_Get_Log_Conf_Priority_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Next_Log_Conf=cfgmgr32.CM_Get_Next_Log_Conf")
#pragma comment(linker, "/EXPORT:CM_Get_Next_Log_Conf_Ex=cfgmgr32.CM_Get_Next_Log_Conf_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Next_Res_Des=cfgmgr32.CM_Get_Next_Res_Des")
#pragma comment(linker, "/EXPORT:CM_Get_Next_Res_Des_Ex=cfgmgr32.CM_Get_Next_Res_Des_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Parent=cfgmgr32.CM_Get_Parent")
#pragma comment(linker, "/EXPORT:CM_Get_Parent_Ex=cfgmgr32.CM_Get_Parent_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Res_Des_Data=cfgmgr32.CM_Get_Res_Des_Data")
#pragma comment(linker, "/EXPORT:CM_Get_Res_Des_Data_Ex=cfgmgr32.CM_Get_Res_Des_Data_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Res_Des_Data_Size=cfgmgr32.CM_Get_Res_Des_Data_Size")
#pragma comment(linker, "/EXPORT:CM_Get_Res_Des_Data_Size_Ex=cfgmgr32.CM_Get_Res_Des_Data_Size_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Resource_Conflict_Count=cfgmgr32.CM_Get_Resource_Conflict_Count")
#pragma comment(linker, "/EXPORT:CM_Get_Resource_Conflict_DetailsA=cfgmgr32.CM_Get_Resource_Conflict_DetailsA")
#pragma comment(linker, "/EXPORT:CM_Get_Resource_Conflict_DetailsW=cfgmgr32.CM_Get_Resource_Conflict_DetailsW")
#pragma comment(linker, "/EXPORT:CM_Get_Sibling=cfgmgr32.CM_Get_Sibling")
#pragma comment(linker, "/EXPORT:CM_Get_Sibling_Ex=cfgmgr32.CM_Get_Sibling_Ex")
#pragma comment(linker, "/EXPORT:CM_Get_Version=cfgmgr32.CM_Get_Version")
#pragma comment(linker, "/EXPORT:CM_Get_Version_Ex=cfgmgr32.CM_Get_Version_Ex")
#pragma comment(linker, "/EXPORT:CM_Import_PowerScheme=cfgmgr32.CM_Import_PowerScheme")
#pragma comment(linker, "/EXPORT:CM_Install_DevNodeW=cfgmgr32.CM_Install_DevNodeW")
#pragma comment(linker, "/EXPORT:CM_Install_DevNode_ExW=cfgmgr32.CM_Install_DevNode_ExW")
#pragma comment(linker, "/EXPORT:CM_Intersect_Range_List=cfgmgr32.CM_Intersect_Range_List")
#pragma comment(linker, "/EXPORT:CM_Invert_Range_List=cfgmgr32.CM_Invert_Range_List")
#pragma comment(linker, "/EXPORT:CM_Is_Dock_Station_Present=cfgmgr32.CM_Is_Dock_Station_Present")
#pragma comment(linker, "/EXPORT:CM_Is_Dock_Station_Present_Ex=cfgmgr32.CM_Is_Dock_Station_Present_Ex")
#pragma comment(linker, "/EXPORT:CM_Is_Version_Available=cfgmgr32.CM_Is_Version_Available")
#pragma comment(linker, "/EXPORT:CM_Is_Version_Available_Ex=cfgmgr32.CM_Is_Version_Available_Ex")
#pragma comment(linker, "/EXPORT:CM_Locate_DevNodeA=cfgmgr32.CM_Locate_DevNodeA")
#pragma comment(linker, "/EXPORT:CM_Locate_DevNodeW=cfgmgr32.CM_Locate_DevNodeW")
#pragma comment(linker, "/EXPORT:CM_Locate_DevNode_ExA=cfgmgr32.CM_Locate_DevNode_ExA")
#pragma comment(linker, "/EXPORT:CM_Locate_DevNode_ExW=cfgmgr32.CM_Locate_DevNode_ExW")
#pragma comment(linker, "/EXPORT:CM_MapCrToSpErr=cfgmgr32.CM_MapCrToSpErr")
#pragma comment(linker, "/EXPORT:CM_MapCrToWin32Err=cfgmgr32.CM_MapCrToWin32Err")
#pragma comment(linker, "/EXPORT:CM_Merge_Range_List=cfgmgr32.CM_Merge_Range_List")
#pragma comment(linker, "/EXPORT:CM_Modify_Res_Des=cfgmgr32.CM_Modify_Res_Des")
#pragma comment(linker, "/EXPORT:CM_Modify_Res_Des_Ex=cfgmgr32.CM_Modify_Res_Des_Ex")
#pragma comment(linker, "/EXPORT:CM_Move_DevNode=cfgmgr32.CM_Move_DevNode")
#pragma comment(linker, "/EXPORT:CM_Move_DevNode_Ex=cfgmgr32.CM_Move_DevNode_Ex")
#pragma comment(linker, "/EXPORT:CM_Next_Range=cfgmgr32.CM_Next_Range")
#pragma comment(linker, "/EXPORT:CM_Open_Class_KeyA=cfgmgr32.CM_Open_Class_KeyA")
#pragma comment(linker, "/EXPORT:CM_Open_Class_KeyW=cfgmgr32.CM_Open_Class_KeyW")
#pragma comment(linker, "/EXPORT:CM_Open_Class_Key_ExA=cfgmgr32.CM_Open_Class_Key_ExA")
#pragma comment(linker, "/EXPORT:CM_Open_Class_Key_ExW=cfgmgr32.CM_Open_Class_Key_ExW")
#pragma comment(linker, "/EXPORT:CM_Open_DevNode_Key=cfgmgr32.CM_Open_DevNode_Key")
#pragma comment(linker, "/EXPORT:CM_Open_DevNode_Key_Ex=cfgmgr32.CM_Open_DevNode_Key_Ex")
#pragma comment(linker, "/EXPORT:CM_Open_Device_Interface_KeyA=cfgmgr32.CM_Open_Device_Interface_KeyA")
#pragma comment(linker, "/EXPORT:CM_Open_Device_Interface_KeyW=cfgmgr32.CM_Open_Device_Interface_KeyW")
#pragma comment(linker, "/EXPORT:CM_Open_Device_Interface_Key_ExA=cfgmgr32.CM_Open_Device_Interface_Key_ExA")
#pragma comment(linker, "/EXPORT:CM_Open_Device_Interface_Key_ExW=cfgmgr32.CM_Open_Device_Interface_Key_ExW")
#pragma comment(linker, "/EXPORT:CM_Query_And_Remove_SubTreeA=cfgmgr32.CM_Query_And_Remove_SubTreeA")
#pragma comment(linker, "/EXPORT:CM_Query_And_Remove_SubTreeW=cfgmgr32.CM_Query_And_Remove_SubTreeW")
#pragma comment(linker, "/EXPORT:CM_Query_And_Remove_SubTree_ExA=cfgmgr32.CM_Query_And_Remove_SubTree_ExA")
#pragma comment(linker, "/EXPORT:CM_Query_And_Remove_SubTree_ExW=cfgmgr32.CM_Query_And_Remove_SubTree_ExW")
#pragma comment(linker, "/EXPORT:CM_Query_Arbitrator_Free_Data=cfgmgr32.CM_Query_Arbitrator_Free_Data")
#pragma comment(linker, "/EXPORT:CM_Query_Arbitrator_Free_Data_Ex=cfgmgr32.CM_Query_Arbitrator_Free_Data_Ex")
#pragma comment(linker, "/EXPORT:CM_Query_Arbitrator_Free_Size=cfgmgr32.CM_Query_Arbitrator_Free_Size")
#pragma comment(linker, "/EXPORT:CM_Query_Arbitrator_Free_Size_Ex=cfgmgr32.CM_Query_Arbitrator_Free_Size_Ex")
#pragma comment(linker, "/EXPORT:CM_Query_Remove_SubTree=cfgmgr32.CM_Query_Remove_SubTree")
#pragma comment(linker, "/EXPORT:CM_Query_Remove_SubTree_Ex=cfgmgr32.CM_Query_Remove_SubTree_Ex")
#pragma comment(linker, "/EXPORT:CM_Query_Resource_Conflict_List=cfgmgr32.CM_Query_Resource_Conflict_List")
#pragma comment(linker, "/EXPORT:CM_Reenumerate_DevNode=cfgmgr32.CM_Reenumerate_DevNode")
#pragma comment(linker, "/EXPORT:CM_Reenumerate_DevNode_Ex=cfgmgr32.CM_Reenumerate_DevNode_Ex")
#pragma comment(linker, "/EXPORT:CM_Register_Device_Driver=cfgmgr32.CM_Register_Device_Driver")
#pragma comment(linker, "/EXPORT:CM_Register_Device_Driver_Ex=cfgmgr32.CM_Register_Device_Driver_Ex")
#pragma comment(linker, "/EXPORT:CM_Register_Device_InterfaceA=cfgmgr32.CM_Register_Device_InterfaceA")
#pragma comment(linker, "/EXPORT:CM_Register_Device_InterfaceW=cfgmgr32.CM_Register_Device_InterfaceW")
#pragma comment(linker, "/EXPORT:CM_Register_Device_Interface_ExA=cfgmgr32.CM_Register_Device_Interface_ExA")
#pragma comment(linker, "/EXPORT:CM_Register_Device_Interface_ExW=cfgmgr32.CM_Register_Device_Interface_ExW")
#pragma comment(linker, "/EXPORT:CM_Remove_SubTree=cfgmgr32.CM_Remove_SubTree")
#pragma comment(linker, "/EXPORT:CM_Remove_SubTree_Ex=cfgmgr32.CM_Remove_SubTree_Ex")
#pragma comment(linker, "/EXPORT:CM_Request_Device_EjectA=cfgmgr32.CM_Request_Device_EjectA")
#pragma comment(linker, "/EXPORT:CM_Request_Device_EjectW=cfgmgr32.CM_Request_Device_EjectW")
#pragma comment(linker, "/EXPORT:CM_Request_Device_Eject_ExA=cfgmgr32.CM_Request_Device_Eject_ExA")
#pragma comment(linker, "/EXPORT:CM_Request_Device_Eject_ExW=cfgmgr32.CM_Request_Device_Eject_ExW")
#pragma comment(linker, "/EXPORT:CM_Request_Eject_PC=cfgmgr32.CM_Request_Eject_PC")
#pragma comment(linker, "/EXPORT:CM_Request_Eject_PC_Ex=cfgmgr32.CM_Request_Eject_PC_Ex")
#pragma comment(linker, "/EXPORT:CM_RestoreAll_DefaultPowerSchemes=cfgmgr32.CM_RestoreAll_DefaultPowerSchemes")
#pragma comment(linker, "/EXPORT:CM_Restore_DefaultPowerScheme=cfgmgr32.CM_Restore_DefaultPowerScheme")
#pragma comment(linker, "/EXPORT:CM_Run_Detection=cfgmgr32.CM_Run_Detection")
#pragma comment(linker, "/EXPORT:CM_Run_Detection_Ex=cfgmgr32.CM_Run_Detection_Ex")
#pragma comment(linker, "/EXPORT:CM_Set_ActiveScheme=cfgmgr32.CM_Set_ActiveScheme")
#pragma comment(linker, "/EXPORT:CM_Set_Class_PropertyW=cfgmgr32.CM_Set_Class_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Set_Class_Property_ExW=cfgmgr32.CM_Set_Class_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Set_Class_Registry_PropertyA=cfgmgr32.CM_Set_Class_Registry_PropertyA")
#pragma comment(linker, "/EXPORT:CM_Set_Class_Registry_PropertyW=cfgmgr32.CM_Set_Class_Registry_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Problem=cfgmgr32.CM_Set_DevNode_Problem")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Problem_Ex=cfgmgr32.CM_Set_DevNode_Problem_Ex")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_PropertyW=cfgmgr32.CM_Set_DevNode_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Property_ExW=cfgmgr32.CM_Set_DevNode_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Registry_PropertyA=cfgmgr32.CM_Set_DevNode_Registry_PropertyA")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Registry_PropertyW=cfgmgr32.CM_Set_DevNode_Registry_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Registry_Property_ExA=cfgmgr32.CM_Set_DevNode_Registry_Property_ExA")
#pragma comment(linker, "/EXPORT:CM_Set_DevNode_Registry_Property_ExW=cfgmgr32.CM_Set_DevNode_Registry_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Set_Device_Interface_PropertyW=cfgmgr32.CM_Set_Device_Interface_PropertyW")
#pragma comment(linker, "/EXPORT:CM_Set_Device_Interface_Property_ExW=cfgmgr32.CM_Set_Device_Interface_Property_ExW")
#pragma comment(linker, "/EXPORT:CM_Set_HW_Prof=cfgmgr32.CM_Set_HW_Prof")
#pragma comment(linker, "/EXPORT:CM_Set_HW_Prof_Ex=cfgmgr32.CM_Set_HW_Prof_Ex")
#pragma comment(linker, "/EXPORT:CM_Set_HW_Prof_FlagsA=cfgmgr32.CM_Set_HW_Prof_FlagsA")
#pragma comment(linker, "/EXPORT:CM_Set_HW_Prof_FlagsW=cfgmgr32.CM_Set_HW_Prof_FlagsW")
#pragma comment(linker, "/EXPORT:CM_Set_HW_Prof_Flags_ExA=cfgmgr32.CM_Set_HW_Prof_Flags_ExA")
#pragma comment(linker, "/EXPORT:CM_Set_HW_Prof_Flags_ExW=cfgmgr32.CM_Set_HW_Prof_Flags_ExW")
#pragma comment(linker, "/EXPORT:CM_Setup_DevNode=cfgmgr32.CM_Setup_DevNode")
#pragma comment(linker, "/EXPORT:CM_Setup_DevNode_Ex=cfgmgr32.CM_Setup_DevNode_Ex")
#pragma comment(linker, "/EXPORT:CM_Test_Range_Available=cfgmgr32.CM_Test_Range_Available")
#pragma comment(linker, "/EXPORT:CM_Uninstall_DevNode=cfgmgr32.CM_Uninstall_DevNode")
#pragma comment(linker, "/EXPORT:CM_Uninstall_DevNode_Ex=cfgmgr32.CM_Uninstall_DevNode_Ex")
#pragma comment(linker, "/EXPORT:CM_Unregister_Device_InterfaceA=cfgmgr32.CM_Unregister_Device_InterfaceA")
#pragma comment(linker, "/EXPORT:CM_Unregister_Device_InterfaceW=cfgmgr32.CM_Unregister_Device_InterfaceW")
#pragma comment(linker, "/EXPORT:CM_Unregister_Device_Interface_ExA=cfgmgr32.CM_Unregister_Device_Interface_ExA")
#pragma comment(linker, "/EXPORT:CM_Unregister_Device_Interface_ExW=cfgmgr32.CM_Unregister_Device_Interface_ExW")
#pragma comment(linker, "/EXPORT:CM_Write_UserPowerKey=cfgmgr32.CM_Write_UserPowerKey")